當前位置:首頁 » 編程語言 » c語言代碼分析工具
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言代碼分析工具

發布時間: 2022-04-28 19:28:15

A. c語言中handle類型是什麼意思

1、handle是句柄類型,來源於Handle-C,Handle-C是硬體描述語言。windows在創建一個系統對象的同時,把一個句柄賦值給這個實體 ,可以用這個句柄來識別或者修改這個對象, 這就是handle句柄的作用。

2、句柄(HANDLE)是資源的標識。操作系統要管理和操作這些資源,都是通過句柄來找到對應的資源。按資源的類型,又可將句柄細分成圖標句柄(HICON),游標句柄(HCURSOR),窗口句柄(HWND),應用程序實例句柄(HINSTANCE)等等各種類型的句柄。 所以HWND是一種HANDLE

B. 學習C語言最好用的軟體是什麼

使用「turbo c for windows」,這是專門為c的學習開發的。 Turbo C/C++ for Windows 集成實驗與學習環境是從事一線教學的大學教師根據 C 語言初學者的特點,量身定製的一個簡單易用的 C 語言實驗與學習軟體。軟體集成了高校 C 語言教學中使用最多的三種編譯器 Visual C++ 6.0 、Turbo C++3.0和Turbo C 2.0 ,給高校 C 語言的實驗教學提供了簡單易用的軟體實驗環境(免費使用)。與軟體配套的《 C 語言入門教程》融入了作者多年的教學和學習經驗、編程建議、編程感悟等,同時,為了便於C語言學習,加入C語言學習指導、入門程序實例、典型源程序、典型的函數演算法,課程設計指導、課程設計源程序、 Visual C++6.0 常見編譯錯誤信息、Turbo C++3.0常見編譯錯誤信息、 Turbo C2.0 常見編譯錯誤信息、C語言專業詞彙的中英文對照、二級 C 語言的真題筆試試卷及答案與分析和上機模擬試題和詳盡的答案與分析等大量的學習資源。另外 「編程日記」 功能可以讓你記錄你的 C 語言學習歷程, 「資料管理」 功能讓你大量的下載資料不再難找

C. 如何利用c語言分析網頁

關於「read"的內存不能為written或read的解決方案

使用Windows操作系統的人有時會遇到這樣的錯誤信息:「0X????????指令引用的0x00000000內存,該內存不能written」,然後應用程序被關閉。如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的常見原因。

一、應用程序沒有檢查內存分配失敗

程序需要一塊內存用以保存數據時,就需要調用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「指針」。

內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的指針,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。

若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用指針,繼續在之後的運行中使用這塊內存。真正的0地址內存區保存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即死機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。

內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統文件之後。

二、應用程序由於自身BUG引用了不正常的內存指針

在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的指針已經失效了。有可能是 「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止運行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!

像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效指針不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其他隨機數字。

如果系統經常有所提到的錯誤提示,下面的建議可能會有幫助:

1.查看系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。

2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統文件、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。

3.試用新版本的應用程序。
問題

運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。

故障分析

硬體方面:
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,就要檢查是不是內存出問題了或者和其它硬體不兼容。

軟體方面:
先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。

幾個例子

例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。
解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。
"0x0a8ba9ef"指令引用的"0x03713644" 內存,該內存不能為"read".要終止程序,請單擊"確定"。
解決方法:IE有錯誤,需要重置IE:
1 在"開始"菜單中打開"運行"窗口,在其中輸入"regsvr32 actxprxy.dll",然後"確定",接著會出現一個信息對話 框"DllRegisterServer in actxprxy.dll succeeded",再次點擊"確定"。
2 再次打開"運行"窗口,輸入"regsvr32 shdocvw.dll
3 再次打開"運行"窗口,輸入"regsvr32 oleaut32.dll
4 再次打開"運行"窗口,輸入"regsvr32 actxprxy.dll
5 再次打開"運行"窗口,輸入"regsvr32 mshtml.dll
6 再次打開"運行"窗口,輸入"regsvr32 msjava.dll
7 再次打開"運行"窗口,輸入"regsvr32 browseui.dll
8 再次打開"運行"窗口,輸入"regsvr32 urlmon.dll

例二:在windows xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。
解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。

例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。
解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。

例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「Ox060692f6」(每次變化)指令引用的「Oxff000011」內存不能為「read」,終止程序請按確定。
解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。

例五:雙擊一個游戲的快捷方式,「Ox77f5cdO」指令引用「Oxffffffff」內存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。
解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。

例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0*772b548f」指令引用的「0*00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。
解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。

例七:我的筆記本電腦用的XP系統,有時關閉網頁時會彈出tbrowser.exe遇到問題需要關閉,然後有彈出0x03e7c738指令引用的0x03e7c738內存,該內存不能為read,請問是怎麼回事?
解決方法:先查殺一下病毒,另外如果你安裝了瀏覽增強之類的軟體,請卸掉。

例八:從桌面或開始菜單中打開任何一個程序, 出現錯誤提示:"0x........"指令引用的"0x00000000"內存,該內存不能為"read"。省略號代表可變值。而從運行中打開程序沒問題。
解決方法:運行regedit進入注冊表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,應該只有一個正常的鍵值", 將其他的刪除(默認鍵值當然不要刪除)。

例九:我三個月前配了台機子。系統比較不穩定,三個月內已經重裝過多次系統,四五天前剛裝過系統,可是經常隨機地出現Explorer-應用程序錯誤,「0x4a01259d「指令引用的「0x00000000"內存。該內存不能為 「read"。要終止程序,請單擊「確定「。要調試程序,請單擊「取消」。如果點確定,windows桌面就不見了。這種問題在之前的系統也出現過,不知道是不是硬體的問題?
解決方法:內存的兼容性問題!遇到這類問題,用戶可以自行打開機器把內存的位置調動一下,看問題是否可以解決,如果問題依舊,可與你的朋友調換內存使用。

通過上面的幾個例子,可以看到,出現故障的原因有好多種,下面列出已經提到和有可能發生的原因,方便查閱。

問題產生原因原因--解決方法

內存條壞了--更換內存條

雙內存不兼容--使用同品牌的內存或只用一條內存

內存質量問題--更換內存條

散熱問題--加強機箱內部的散熱

內存和主板沒插好或和其它硬體不兼容等--重插內存或換個插糟

硬碟有問題--更換硬碟

驅動問題--重裝驅動。如果是新系統,要先安裝主板驅動

軟體損壞--重裝軟體

軟體有BUG--打補丁或用最新的版本。

軟體和系統不兼容--給軟體打上補丁或者試試系統的兼容模式

軟體和軟體之間有沖突--如果最近安裝了什麼新軟體,卸載了試試

軟體要使用到其它相關的軟體有問題--重裝相關軟體。比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題

病毒問題--殺毒

殺毒軟體與系統或軟體沖突--由於殺毒軟體是進入底層監控系統的,可能與一些軟體沖突,卸載了試試

系統本身有問題--有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序,像SP的補丁,最好要打上。如果還不行重裝系統或更換其它版本的系統了。
另外,團IDC網上有許多產品團購,便宜有口碑

D. 如何用C語言編寫一個可以自動運行某些程序的小程序

#include<windows.h>

#include<stdio.h>

#pragma comment(linker,"/subsystem:"Windows" /entry:"mainCRTStartup"")

void main()

{

system("title 源世界整理");

int x,y;

while(1)

{x=rand()%801;

y=rand()%601;

SetCursorPos(x,y);

}

return ;

}

(4)c語言代碼分析工具擴展閱讀

C語言猜數字的小游戲

#include <stdio.h>

#include <stdlib.h>

#include <time.h> //時間頭文件。

void main()

{

int n;

int number;

srand((unsigned)time(NULL)); //產生隨機數。

number=rand()%100;

printf("游戲開始! ");

while(1)

{

printf("請輸入1—100之間的整數:");

scanf("%d",&n);

if(n==number)

{

printf("恭喜你猜對了,游戲結束。 ");break;

}

if(n>number)

printf("大了! ");

if(n<number)

printf("小了! ");

}

}

E. 用正則式描述C語言的各種詞型,藉助LEX工具實現C語言的詞法分析器。 請詳細回答相關思考題: 越詳細越好。

1.輸入是代碼文件,輸出是一個個的token。這些輸出之後是供語法分析器(yacc,bison什麼的)用的。
2.做准備的話你可以看看《c專家編程》第3章:分析c語言的聲明。這個例子是一個最簡單的詞法+語法分析器,足夠給你一些提示了。當然這還不夠,你可能要找一份C語言的標准來看。
3.歸類無非是修飾符、類型、關鍵字、標識符、運算符等等了。
4.在2的基礎上。不難解決。
5.這個很簡單。就算直接文件處理也解決掉了。依稀記得lex可能更容易做這件事兒。
總體來說,這事兒如果自己做可能比較費勁,用lex應該省事不少。
=========================================================================
上面只是憑印象說的,希望對你有幫助。等等看有沒有大牛幫你完成吧。或者等我有空咱們一起研究下。

F. 尋找編寫c語言的軟體

Visual Studio C++
Visual Studio 是一套完整的開發工具集,用於生成 ASP.NET Web 應用程序、XML Web Services、桌面應用程序和移動應用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成開發環境 (IDE),利用此 IDE 可以共享工具且有助於創建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應用程序和 XML Web Services 開發的關鍵技術。 創建滿足關鍵性要求的多層次的智能客戶端、Web、移動或基於Microsoft Office的應用程序。使用Visual Studio 2005, 專業開發人員能夠:
使用改進後的可視化設計工具、編程語言和代碼編輯器,享受高效率的開發環境
在統一的開發環境中,開發並調試多層次的伺服器應用程序
使用集成的可視化資料庫設計和報告工具,創建SQL Server 2005解決方案
使用Visual Studio SDK創建可以擴展Visual Studio IDE的工具
Microsoft為單獨工作或在小型團隊中的專業開發人員提供了兩種選擇,Visual Studio 2005 Professional Edition和用於Microsoft Office系統的Visual Studio 2005工具。每種版本都在標准版的特性上進行了擴展,包括用於遠程服務程序開發和調試、SQL Server2005開發的工具,以及完整的、沒有限制的開發環境。每種產品都可以單獨購買或打包定購。
專業開發人員喜歡自由的使用.NET Framework 2.0,它是一種穩健的、功能齊備的開發環境,支持創建擴展Visual Studio集成開發環境的工具。
[編輯本段]主要部分

公共語言運行庫
運行庫實際上在組件的運行時和開發時操作中都起到很大的作用,盡管名稱中沒有體現這個意思。在組件運行時,運行庫除了負責滿足此組件在其他組件上可能具有的依賴項外,還負責管理內存分配、啟動和停止線程和進程,以及強制執行安全策略。在開發時,運行庫的作用稍有變化;由於做了大量的自動處理工作(如內存管理),運行庫使開發人員的操作非常簡單,尤其是與今天的 COM 相比。特別是反射等功能顯著減少了開發人員為將業務邏輯轉變為可重用組件而必須編寫的代碼量。
統一編程類
該框架為開發人員提供了統一的、面向對象的、分層的和可擴展的類庫集 (API)。目前,C++ 開發人員使用 Microsoft 基礎類,而 Java 開發人員使用 Windows 基礎類。該框架統一了這些完全不同的模型,還為 Visual Basic 和 JScript 程序員提供了對類庫的訪問。通過創建跨所有編程語言的公共 API 集,公共語言運行庫使得跨語言繼承、錯誤處理和調試成為可能。從 JScript 到 C++ 的所有編程語言具有對框架的相似訪問,開發人員可以自由選擇它們要使用的語言。
ASP.NET
ASP.NET 建立在 .NET Framework 的編程類的基礎上,為 Web 應用程序模型提供了一組可簡化 Web 應用程序生成的控制項和基礎結構。ASP.NET 包括可用於封裝通用 HTML 用戶界面元素(如文本框、按鈕和列表框)的一組控制項。但這些控制項在 Web 伺服器上運行,並以 HTML 的形式將其用戶界面呈現在瀏覽器中。在伺服器上,這些控制項公布面向對象的編程模型,該模型為 Web 開發人員提供面向對象編程的豐富功能。ASP.NET 還提供基礎結構服務,如狀態管理和進程回收,從而可以進一步減少開發人員必須編寫的代碼數量,並提高應用程序的可靠性。另外,ASP.NET 使用這些同樣的概念使開發人員能夠以服務的形式交付軟體。使用 XML Web Services 功能,ASP.NET 開發人員可以編寫他們的業務邏輯,並使用 ASP.NET 基礎結構通過 SOAP 交付該服務。有關更多信息,請參見使用託管代碼進行 XML Web services 編程簡介。
[編輯本段]內容

應用程序
Visual Studio 集成環境包括用於目標設備(如 PDA 和 Smartphone)的工具。改進功能包括 Visual C++ 工具和本機設備運行庫、託管設計器(提供改進的特定於平台的 WYSIWYG 和多種外觀設置支持)、新的模擬程序、類似於桌面的數據處理工具,以及最終用戶部署項目(消除 .inf 文件的手動編輯工作)。有關更多信息,請參見智能設備項目中的新增功能。

Web 窗體

Web 窗體是用於創建可編程網頁的 ASP.NET 技術。Web 窗體將自己呈現為瀏覽器兼容的 HTML 和腳本,這使任何平台上的任何瀏覽器都可以查看 Web 頁。使用 Web 窗體,通過將控制項拖放到設計器上然後添加代碼來創建 Web 頁,與創建 Visual Basic 窗體的方法相似。有關更多信息,請參見 ASP.NET 網頁概述。

Windows 窗體

Windows 窗體用於在 .NET Framework 上創建 Microsoft Windows 應用程序。此框架提供一個有條理的、面向對象的、可擴展的類集,使您能夠開發功能豐富的 Windows 應用程序。另外,Windows 窗體可作為多層分布式解決方案中的本地用戶界面。有關更多信息,請參見 Windows 窗體介紹。

XML Web services

XML Web Services 是可以通過 HTTP 使用 XML 接收請求和數據的應用程序。XML Web Services 並不依賴於特定的組件技術或對象調用約定,因此可以通過任何語言、組件模型或操作系統進行訪問。在 Visual Studio 中,可以使用 Visual Basic、Visual C#、JScript 或 ATL Server 快速創建和包含 XML Web Services。有關更多信息,請參見使用託管代碼進行 XML Web services 編程簡介。

XML 支持

可擴展標記語言 (XML) 提供描述結構數據的方法。XML 是為在 Web 上傳送而進行優化了的 SGML 的子集。萬維網聯合會 (W3C) 定義了 XML 標准以使結構化數據保持統一並獨立於應用程序。Visual Studio 完全支持 XML,同時提供了 XML 設計器,使得更容易編輯 XML 和創建 XML 架構。有關更多信息,請參見 XML 設計器。
[編輯本段]系統要求
1 支持的體系結構
x86
x64 (WOW)
2. 支持的操作系統
Microsoft Windows XP
Microsoft Windows Server 2003 Service Pack 2
Microsoft Windows Server 2008
Windows Vista
Windows 7
3. 硬體要求
最低要求:1.6 GHz CPU,192 MB 內存,1024x768 顯示器,5400 RPM 硬碟
建議配置:2.2 GHz 或更快的 CPU,384 MB 或更大的內存,1280x1024 顯示器,7200 RPM 或更快的硬碟
在 Windows Vista 上:2.4 GHz CPU,768 MB 內存
完全安裝需要 1.3 GB 可用磁碟空間
[編輯本段]歷史沿革

Visual Studio 6.0
1998 年,微軟公司發布了 Visual Studio 6.0。所有開發語言的開發環境版本均升至 6.0。這也是 Visual Basic 最後一次發布,從下一個版本 (7.0) 開始,Microsoft Visual Basic 進化成了一種新的面向對象的語言:Microsoft Visual Basic.NET。由於微軟公司對於 Sun 公司 Java 語言擴充導致與 Java 虛擬機不兼容而 被Sun 告上法庭,微軟在後續的 Visual Studio 中不再包括面向 Java 虛擬機的開發環境。

Visual Studio .NET
2002 年 Visual Studio .NET(內部版本號為 7.0)。在這個版本的 Visual Studio 中,微軟剝離了 Visual FoxPro 作為一個單獨的開發環境以 Visual FoxPro 7.0 單獨銷售,同時取消了 Visual InterDev。與此同時,微軟引入了建立在 .NET 框架上(版本1.0)的託管代碼機制以及一門新的語言 C# (讀作 C Sharp,意為 C++++)。C# 是一門建立在 C++ 和 Java 基礎上的現代語言,是編寫 .NET 框架的語言。NET 的通用語言框架機制(Common Language Runtime, CLR),其目的是在同一個項目中支持不同的語言所開發的組件。所有 CLR 支持的代碼都會被解釋成為 CLR 可執行的機器代碼然後運行。 Visual Basic、Visual C++ 都被擴展為支持託管代碼機制的開發環境,且 Visual Basic .NET更是從 Visual Basic 脫胎換骨,徹底支持面向對象的編程機制。而 Visual J++ 也變為 Visual J#。後者僅語法同 Java 相同,但是面向的不是 Java 虛擬機,而是 .NET Framework。

Visual Studio 2003
2003 年,微軟對 Visual Studio 2002 進行了部分修訂,以 Visual Studio 2003 的名義發布(內部版本號為 7.1)。Visio 作為使用統一建模語言(UML)架構應用程序框架的程序被引入,同時被引入的還包括移動設備支持和企業模版。.NET 框架也升級到了 1.1。

Visual Studio 2005

2005 年,微軟發布了 Visual Studio 2005。.NET 字眼從各種語言的名字中被抹去,但是這個版本的 Visual Studio 仍然還是面向 .NET 框架的(版本2.0)。它同時也能開發跨平台的應用程序,如開發使用微軟操作系統的手機的程序等。總體來說是一個非常龐大的軟體,甚至包含代碼測試功能。這個版本的 Visual Studio 包含有眾多版本,分別面向不同的開發角色。同時還永久提供免費的 Visual Studio Express 版本。

Visual Studio 2008
Microsoft Visual Studio 2008 使開發人員能夠快速創建高質量、用戶體驗豐富而又緊密聯系的應用程序,充分展示了 Microsoft 開發智能客戶端應用程序的構想。藉助 Visual Studio 2008,採集和分析信息將變得更為簡單便捷,業務決策也會因此變得更為有效。任何規模的組織都可以使用 Visual Studio 2008 快速創建能夠利用 Windows Vista™ 和 2007 Office system 的更安全、更易於管理並且更可靠的應用程序。
Visual Studio 2008 在三個方面為開發人員提供了關鍵改進:
1.快速的應用程序開發
2.高效的團隊協作
3.突破性的用戶體驗

Visual Studio 9
隨著即將發布的 Windows Vista (內部名稱:Longhorn) 和 Office 2007,Visual Studio 9 也漸漸浮出水面。Visual Studio 9 目前可以確定的是支持建立於 DHTML 基礎上的 AJax 技術,這種微軟在 Visual InterDev 時代提出的基於非同步的客戶端動態網頁技術在當年並沒有像微軟預期中的那麼流行起來,反而隨著 GMail 等應用而東山再起,漸漸成為主流網路應用之一。同時 Visual Studio 9 會強化對於資料庫的支持以及微軟新的基於工作流(Workflow)的編程模型。預計為了保持與 Office 系列的統一,Visual Studio 9 的名稱為 Visual Studio 2008。2008年,Visual Studio9也就是Visual Studio 2008將和Windows Server 2008同時發布。

Visual Studio 2010
Visual Studio 是微軟公司推出的開發環境。是目前最流行的 Windows 平台應用程序開發環境。目前已經開發到 10.0 版本。
Visual Studio 2008 提供了高級開發工具、調試功能、資料庫功能和創新功能,幫助在各種平台上快速創建當前最先進的應用程序。
Visual Studio 2008 包括各種增強功能,例如可視化設計器(使用 .NET Framework 3.5 加速開發)、對 Web 開發工具的大量改進,以及能夠加速開發和處理所有類型數據的語言增強功能。Visual Studio 2008 為開發人員提供了所有相關的工具和框架支持,幫助創建引人注目的、令人印象深刻並支持 AJAX 的 Web 應用程序。
開發人員能夠利用這些豐富的客戶端和伺服器端框架輕松構建以客戶為中心的 Web 應用程序,這些應用程序可以集成任何後端數據提供程序、在任何當前瀏覽器內運行並完全訪問 ASP.NET 應用程序服務和 Microsoft 平台。
快速的應用程序開發
為了幫助開發人員迅速創建先進的軟體,Visual Studio 2008 提供了改進的語言和數據功能,例如語言集成的查詢 (LINQ),各個編程人員可以利用這些功能更輕松地構建解決方案以分析和處理信息。
Visual Studio 2008 還使開發人員能夠從同一開發環境內創建面向多個 .NET Framework 版本的應用程序。開發人員能夠構建面向 .NET Framework 2.0、3.0 或 3.5 的應用程序,意味他們可以在同一環境中支持各種各樣的項目。
突破性的用戶體驗
Visual Studio 2008 為開發人員提供了在最新平台上加速創建緊密聯系的應用程序的新工具,這些平台包括 Web、Windows Vista、Office 2007、SQL Server 2008 和 Windows Server 2008。對於 Web,ASP.NET AJAX 及其他新技術使開發人員能夠迅速創建更高效、互動式更強和更個性化的新一代 Web 體驗。
高效的團隊協作
Visual Studio 2008 提供了幫助開發團隊改進協作的擴展的和改進的服務項目,包括幫助將資料庫專業人員和圖形設計人員加入到開發流程的工具。
使用 Microsoft .NET Framework 3.5
.NET Framework 提供了用於解決常見編程任務的構建基塊(預制的軟體),從而能夠快速構造具有出色的最終用戶體驗的緊密聯系的應用程序。在 .NET Framework 模型業務流程上有效構建的緊密聯系的應用程序有利於在異類環境中實現系統集成。
Visual Studio 和 .NET Framework 的結合使用減少了對公用管道代碼的需要,從而縮短了開發時間並使開發人員能夠集中精力解決業務問題。
.NET Framework 3.5 是在 .NET Framework 3.0 的基礎上構建的更高版本。得到增強的功能領域包括基類庫、Windows workflow foundation、Windows Communication Foundation、Windows Presentation Foundation 和 Windows CardSpace。
開發人員使用 Visual Studio 2008 專業版能夠:集成的單元測試能夠更有效的驗證應用程序。應用程序的單元測試能夠幫助我們在開發過程的早期輕松發現大量的問題。現在,Visual Studio 2008 專業版中集成了單元測試功能,以前這個功能只在 Visual Studio Team System 產品中提供。
使用 Microsoft Office 系統開發用戶熟悉的應用程序。Visual studio 2008 專業版現在包括了Visual Studio Tools For Office, 這意味著我們的應用程序能夠輕松融合世界上最流行的軟體產品 -- -- Microsoft Office System。比如,開發人員能夠直接將ERP的信息集成到 Office Outlook 的任務面板,這樣用戶就能夠更輕松的訪問到商務決策。
讓您的用戶能夠使用到 Windows Mobile 的應用程序。Visual Studio 2008 專業版讓 Mobile 應用程序的開發變得更加簡單。全新的設備模擬器能夠自動化測試場景,讓您在近似於真實環境中進行應用程序的開發,比如:信號衰弱或電量不足。Mobile 開發人員能夠充分利用到一些更高級的特性,比如:LINQ 和單元測試。開發人員現在能夠擴展和整合用戶體驗,將豐富的多媒體用戶體驗發布到任何能夠訪問 Internet 的設備上。

G. 如何學好C語言

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。沒有學習交流地方可以來


所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於復雜了)。


等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格(說到代碼風格,我會專門寫一篇文章詳細敘述)。


歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。


三、萬事俱備,你就是東風


書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。


學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。


例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。


也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。


仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。


寫到最後,還有非常非常重要的一點沒有提及──代碼風格,從最開始學習就必須強迫自己模仿最優秀的代碼風格。因為代碼風格太重要內容也太多,我會用專門的一篇文章來詳細討論,請大家關注《程序員之路──關於代碼風格》。


題目是關於C語言,其實我主要想說說程序該怎麼學,或者一點感悟罷了,在這里,我只想引用身邊的幾個人的例子,來談一下對程序學習的理解


第一個人要說到我了,我對程序產生興趣,是聽說程序可以作游戲,那時候是在初一,然而借來一本G-BASIC簡明教材後,我便傻了眼。


陌生的詞彙,古怪的邏輯,都是些天文的中文譯本,頭疼了好一陣子。


然而當時又沒有別的閑書可看,我就整天捧著那一本書,什麼方法都試過了,甚至倒著看過了,都沒看出什麼眉目,自己又沒有電腦,只能不停地大膽地想像,然後滿腦子的疑惑……


在這里停一下,上面說的便是我學習的風格:總要經歷一番波折,瞎折騰幾下,然後才會有偶然間的明悟-開竅了!我甚至沒見過幾個人有我這么笨,現在明白過來了,我總是一開始把事情想得過於復雜,造成狗咬刺蝟的難堪的局面,然而竟然有意想不到的收獲!但是不建議大家模仿這種風格,起碼追女朋友的時候不能這樣,生活中很多機會在於接手的那一瞬間,失去就永遠找不回來了。


現在回來,後來偶然間,我看懂了一行代碼,是print 語句,當時興奮得要命,又仔細看了這個看了那個,一下子看懂了很多東西,像是在霎那間被什麼給擊中似的,立刻間醍醐灌頂。。。。


初三在學校學了FOXBASE,基本上自學的,我發現了一件奇怪的事,我這人是出了名的記性不好,然而當時背程序中的命令卻是過目不忘,到現在還記得很多,也許是感興趣吧,也感謝我的微機老師給我提供自由上機的機會!後來我又自學了QBASIC,初四暑假又學了一點C,那時學C遇到不少困難,當時我們學校機房連C語言都沒有,我只好悶在家裡,一本二級C教材,一本配套習題,整天發呆地想,把自己的腦袋當電腦cpu使,有時進入死循環,有時又徹底崩潰。我花十幾天看完了一本書,做完了一本題,然而腦袋裡充滿了疑惑,由於沒有上機實踐的機會,我就憑自己的猜測與推理己慢慢建立了一大堆理論,十分得意與自信,但後來證明大部分是錯的,害我花了很長時間去糾正,這是後話。可是,還是那句話不破不立,不阻不行。就像我現在有了電腦,整天泡在互聯網的海洋里,感受著快餐文化,好久都沒靜下心來好好想點東西了.


高中還上過幾節電腦課,只不過忙於應付高考,我將學程序的打算放棄了,到這里我該說下一個人了。


高中時坐我旁邊一女生,她的文曲星里有BASIC,我偶爾拿過來編了幾個小程序玩,她看到後很感興趣,令人驚訝的是,她只看了三五個程序,聽我講了幾個命令的功能,就能根據自己的想像編出小動畫來,她此前是絕沒有學過程序的!我曾一度懷疑過她的智商,然而她程序是如此之快,卻讓我的眼都瞪大了好幾圈,比我當年高了好幾個境界!我後來經常在想,是不是我當時的方法不對,程序到底應該怎樣學。。。


一晃就到了大學,我碰到另一個讓我佩服的人,跟我一樣是學計算機的,他是偶爾看到我在編動畫,然後十分感興趣,便開始自學。他令人吃驚的是,指針,結構體,位運算等等,都沒搞懂(更不用說演算法和數據結構),只學了三種程序結構,現在只學了C半年,便自己能編出貪吃蛇,俄羅斯方塊,掃雷,還有很多叫不出名字的小游戲來,現在又在寫黑白棋,我知道我確實是走了不少彎路。


程序應該怎樣學,對C來講,我覺得應該從畫圖學起。


原因有二。


一,畫圖程序很能振奮人心的,它能帶給你濃厚的興趣,這是學程序的關鍵。


二,畫圖程序容易上手,很簡單的道理,就能做出很漂亮的東西來。有很多東西甚至不用看課本,就能自己推出來(我認為推理的方法很重要,它是你自學的必要條件)。


比如畫一個圓,從數學角度來分析,要確定一個圓,只需知道它的圓心(x,y)與半徑r,那好一個圓就畫出來了,circle(x,y,r);


其它的類推,再畫一個立體的,選擇立方體,再分析,只要知道兩個對角的坐標就行了吧,翻一下課本,不是這樣,為什麼?你或許會想到,電腦屏幕本來就是平面的,用立體坐標的理論在這里,恐怕就不是最簡單的方法。所以它採用的應該是兩個平面圖形平移。此處留下疑問,立體圖形在平面坐標中怎麼表示?自己慢慢研究,很淺的東西。


想作動畫吧,想像一下動畫的原理只是從一個圖形變幻到另一個圖形,不同地變幻就出現動畫效果,那就可以畫一個,擦了,再畫一個新的,再變化。。。


數學功底好的話,從二維到三維,從靜態到動態我認為是很快的過渡。


具體該怎麼學呢,你可以多找幾個畫圖的例子,敲到電腦里,多敲幾個,慢慢地你就會知道哪些東西是干什麼的,慢慢地就會自己做出東西來。


但這里不要沉溺太久了,先學畫圖只是幫助你輕松地入門(很多人C學完了還沒有入門)。


從畫圖里暫時走出來,你應該打打基礎了,這里不再贅述。可以邊學邊實踐,物理,數學課本中很多問題都可以用程序來演示,來解決,嘗試著多做些東西,這比你老學課本中的模型強多了,只有你自己去體會才能知道。


談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是「讓我歡喜讓我憂。」歡喜的是,C語言功能非常強大、應用廣泛,一旦掌握了後,你就可以理直氣壯地對他人說「我是電腦高手!」,而且以後若是再自學其他語言就顯得輕而易舉了。憂慮的是,C語言猶如「少林武功」一般博大精深,太難學了。其實就筆者認為C語言並非是「difficult(困難)」的,只要你能理清思路,掌握它的精髓,那麼自學C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言或者說學習C語言應從哪幾方面著手。


了解一些基本知識


一.C語言的背景


就個人感觸,無論學習哪門語言首先應該了解一下自己所學語言的背景,也可以說它的發展史。


C語言屬於高級程序語言的一種,它的前身是「ALGOL」。其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因為它只能用於UNIX系統上。然而隨著科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標准化協會制定了C語言的國際標准,簡稱「ANSI C」,從此以後它便成為一種廣泛使用的程序語言。C語言的優點很多,主要的有如下四點:


1.兼備高級語言與低級語言的優點,屬於一種中間語言。


2.它是一種結構化程序設計語言,非常適合結構化程序設計。


3.有較豐富的數據類型、運算符以及函數供以選用。


4.直接與內存打交道,使修改、編輯其他程序與文檔變得輕松,簡單。


二.二大語系二種不同的學習方法


筆者學習過很多程序語言,例如:C,C++(C語言的擴展),QBASIC,VB(BASIC的可視化),JAVA,J ,VB,JAVA,ASP,FOXPRO,PERL等等,就本人實踐所得,其實高級程序語言分為兩大語系。一路是以C為主的程序語言,例如:JAVA,JAVA等,這類語言在函數的調用,程序語句的書寫,循環的控制都極為相似。另一路是以BASIC為首的程序語言,例如:FOXPRO,VB等,此類語言同樣具有相似的函數調用,程序語句書寫以及循環控制,但與C語系是不同的。因此若是您以前是從QBASIC起家的,那麼在學習C語言前最好是先洗洗腦,千萬不要把學習BASIC的方法以及思路用在C身上。


講到這里,我想大家對C語言一定有了感性認識吧!下面讓我們再升華一下,全方位親密接觸它。學習C語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。


怎樣才能學好c語言


有人問我c語言是不是很難學,我說不是,後來問的人多了,我就萌生了寫一篇關於c語言如何入門的文章的念頭來。


其實c語言很簡單,它只是一種交流的規則,一種表達的工具,一種承載思想的容器而已,之所以感覺難,我覺得是還不習慣使用計算機特點來考慮問題。這就好比中國人從到英國定居一樣,雖然你學過英語,但是那隻是想像中的英國,和現實的英國的情況還相差很遠,所以要有一個適應的過程,也就是常說的過渡期或磨合期。


想盡快上手就得掌握計算機的特點,計算機的特點包括:


1、 計算機在問題的處理方式上要求全,將所有的可能都要告訴它。人可以根據習慣忽略一些東西,但計算機不行。比如說求解一元二次方程,我們考慮問題就已經默認了a不等於0,更有甚者把b方減4ac也默認大於等於零了。這是我們的習慣,既然有解,我們一般習慣上就把它定為實數解,所以你做出來的程序一般是不考慮這兩個條件的,但是計算機不行,計算機是有名的弱智。計算機沒有象人一樣的智能處理能力,它是人忠實的信徒,不管你怎麼想,它都會執行你的命令。由於你的習慣,導致一些別有用心的人或者無意犯錯的人來犯錯誤,致使計算機有時無所適從。很疲憊,甚至崩潰,報錯,造成你的程序是不成功的,所以你感覺很難。


2、 計算機要求程序的描述精確,無二義性。人的語言有很強的隨機性和二義性。我們平時說話時,有時是一些招呼,有時說話的邏輯性可以不太清楚,話既可以表達這樣的意思,也可以表達那樣的意思,人可以根據環境和對方想表達的含義進行分析,最終得到正確的結果,但是計算機很弱智,雖然它很聽話,但是他不能理解你表達的思想,只會按你交給的指令執行,這樣導致執行時報警和出錯。


3、 計算機編程是要求有很強的全局性和邏輯性,不存在起伏的問題。人的思維有很強的活躍期和蟄伏期,計算機不會,它隨時待命。人在考慮問題時,有很多盡興的東西,但這不是處理問題的整體,而是一部分,所以就出現做完一段代碼後,就不願意再寫,或感覺很吃力,所以感覺很難。


計算機要求它的主人,考慮問題要全面,所有可能的情況及處理都要告訴它,要求學會沉穩,心態要穩定,要求交流的語句一定要明了含義單一。


怎樣才能很快的學會c語言,更快的度過磨合期呢?C語言的語法規則記憶理解當然是不可少的,除此之外還應注意以下幾個方面:


1、 好好理解一下變數和函數的概念,至少要重新回頭看看初等數學。這是基礎,否則就會先天不足,你學的再好,也成不了大氣候。


2、 平衡心態,雖然不能做到「不以物喜,不以己悲」的水平,但至少不要浮躁,不要急於求成,欲速則不達。


3、 培養自身的全局意識,既能小無內,也能大無外,才行。


4、 嚴格按照程序設計過程設計程序,不要跳脫,天馬行空,沒有規矩是不成方圓的。


5、 努力提高自身的綜合素質。程序是人思維的表達形式,是人處理問題思路和語言的結合體。你對客觀看成到什麼程度和你掌握的知識成正比。如果你對處理的問題不理解,不會處理,你怎麼也寫不出程序。


6、 學會交流,多交流,相互補益,同時團隊合作也是很重要的。



總之,實踐出真知,多學、多練、多思、多交流,勤奮好學才能學成。

H. 怎麼配置source insight使得可以編譯C語言程序

source insight是個代碼瀏覽工具,
它會自動對你的工程源碼進行語法分析,
方便你迅速查找對某個特定符號的引用。它本身不帶編譯器調試器,但是你可以指定要用的編譯器,記得source insight里有這個選項。
1、General
Project File Synchronization->Remove missing file from project選上可以避免因文件找不到而彈出錯誤對話框。
把Misc->Use stricter confirmation dialog選項去掉可以使確認時不輸入"yes"。

2、Typing
Source Editing->Indent commands affect #-preprocessor statements。去掉後(默認值),進行多行縮進時不會影響預處理語句(如#if...#endif)。
Auto Completion->Use detailed completion window,選上後,聯想時可以出現該函數的詳細信息。見下圖:
(簡單)
(詳細)

Auto Completion->Insert paremeters for functions,去掉後,自動聯想不會把整個參數都輸出到當前行。
Browsing in Lists->Match syllables while typing(slower)。在symbol list框檢索符號時是否採用音節匹配方式,如對於函數FindNext,輸入find或者next都可以找到該函數。該功能可能導致反應緩慢(視工程和機器配置而定),建議關閉,因為即使在關閉狀態下也可以通過先輸入空格再輸入單詞來動態啟用該功能。
注意Browsing in Lists里其實有兩個功能,但一般我們只能看到Match syllables while typing這一條,應該是si的菜單設計沒有做好,導致在中文windows下不能顯示全,另一個功能是Match members while typing,用於打開/關閉按成員變數名來檢索類/結構體的功能。

3、Files
Opening Files->Sharing: Let other programs modify files,以共享方式打開文件,這個很重要,保證可以在其它編輯中同時編輯該文件。典型的場景就是用ide環境去動態編譯調試,而用si靜態閱讀。
Customize 'Open' Command...,用於設置Ctrl+O打開的頁面,默認選項是 Project File list view in Project Window,建議保持默認。
Saving Files->Preserve Undo data and revision marks after saving,如果發現保存後就不能undo了,請檢查該選項是否選中。
Remove extra white space when saving。保存時自動去除每行尾部的空格和tab。建議選中。

4、Languages
自定義其它編程語言的語法解析,這個...還是另寫一篇來講吧。
Conditional Parsing不要錯過了,這里的Conditions功能實在讓人喜歡。Conditions是什麼意思呢?我們的代碼中一般都會有一些開關宏,通過在Conditions中配置這些宏的默認值,可以讓si把配置為不開啟的宏視為無效代碼,從而不進行符號檢索。
如果源代碼中的開關宏太多,還可以使用Condition Parsing中的Scan Files來自動找出所有開關宏。

5、Symbol Lookups
沒太多特別的。

6、Display
顯示配置和個人喜好和顯示器的狀態有關,偶用的x60小本,屏幕資源有限,所以在Display Elements里把Project Window, Status Bar, Tool Bar,Clip Window都關了,基本用快捷鍵可以代替它們。
Options->Horizontal scroll bars for each new window。很多大師都教導我們說一行不要寫太多代碼。在這個指導思想下,我們不需要這個東東。
Show exact case of file names。如果看不慣si把所有的文件名首字母都大寫就勾上這個選項吧。
Tile source and destination windows for Source Link commands。Source Link很多時候用於外部命令輸出結果的解析(如Make, lint),這個功能會把解析結果與目標窗口自動tile,很實用。
Trim long path names with ellipses。這個建議不要選中。事實上這個主要影響標題欄,但一般來說標題欄上的空間是充裕的,選上之後往往會令我們不知道所編輯文件的具體位置。