VC++6.0調(diào)試時注意事項(xiàng)
VC++6.0是Windows平臺上的C++編程環(huán)境,學(xué)習(xí)VC要了解很多Windows平臺的特性并且還要掌握MFC、ATL、COM等的知識,難度比較大,對標(biāo)準(zhǔn)的C99支持不好也是很正常的事情。
GNU Dev C++ 4.9.9.2,2005年最后一版,據(jù)說對C++標(biāo)準(zhǔn)支持比較好,再后來有wx-devcpp繼續(xù)了它的道路,至今一直繼續(xù)升級。我個人的使用經(jīng)驗(yàn)是這樣,如果你把VC++6.0當(dāng)成一個C語言的IDE可能還不錯。
但是編譯C++程序,恐怕就有點(diǎn)牽強(qiáng)了,我平時寫得C++代碼[如果沒有語法錯誤的話],VC++6.0即使打上SP6補(bǔ)丁相信90%以上的可能性編譯不過去。Dev C++ 4.9.9.2可以編譯過去的可能性相信會超過98%。如果寫C程序,假如沒有語法錯誤的話,VC++6.0和GNU Dev C++ 4.9.9.2基本上都可以編譯成功。
由于都是IDE,VC++6.0調(diào)試程序更方便一些,用VC++6.0可以開發(fā)C應(yīng)用程序,Win32應(yīng)用程序,還可以方便的使用MFC開發(fā)很多應(yīng)用程序,不過問題是,MS的IDE新版本有很多時候并不兼容VC++6.0,有些函數(shù)的參數(shù)重新修訂,有些函數(shù)和類已經(jīng)廢棄,有些已經(jīng)改名,當(dāng)然還擴(kuò)充了不少。
VC++6.0對STL支持不佳是很正常的事情,比如getline庫函數(shù)本身有bug,list成員函數(shù)sort本身有bug,還有很多其他問題,VC++6.0對模板支持很差,對友元支持很差,還有很多方面支持很差。對模板支持差,這種情況一直到VS2003(C++7.0)都沒有很好的解決,VS2003不支持模板的偏特化。
GNU Dev C++ 4.9.9.2比較小,安裝后大約50M大小(VC++6.0安裝后至少幾百M(fèi)),可以開發(fā)C,C++,Win32應(yīng)用程序等等,使用Dev C++ 4.9.9.2編譯C++程序,用的是g++3.4.2編譯器。Dev C++對標(biāo)準(zhǔn)C++支持較好。
據(jù)我所知,僅僅友元模板函數(shù)在類里面實(shí)現(xiàn)可以正常編譯,但是放到類外就不行,到目前為止僅僅發(fā)祥這一個問題,還有一個問題就是代碼最大優(yōu)化,你需要便宜環(huán)境設(shè)置里面加上命令-O3。另外,我還使用過Intel C++ 9.0,以插件的形式安裝在VC++6.0這個IDE上,對C++的支持力度僅次于Dev C++ 4.9.9.2,但是編譯代碼以后執(zhí)行速度稍快一點(diǎn)。
如果你喜歡使用MS的編譯器,建議使用VC++8.0[VS2005],缺點(diǎn)是占據(jù)硬盤空間很大,加上MSDN,至少2GB以上。如果你是C++初學(xué)者,使用環(huán)境Windows平臺,GNU Dev C++ 4.9.9.2(g++3.4.2)可能是你非常好的選擇。如果你使用linux平臺,可以升級g++編譯器版本到4.2.1甚至更高。
VC作為一個主流的開發(fā)平臺一直深受編程愛好者的喜愛,但是很多人卻對它的入門感到難于上青天,究其原因主要是大家對他錯誤的認(rèn)識造成的。嚴(yán)格的來說VC++6.0不是門語言,雖然它和C++之間有密切的關(guān)系,如果形象點(diǎn)比喻的話,可以把C++看作為一種“工業(yè)標(biāo)準(zhǔn)”,而VC++則是某種操作系統(tǒng)平臺下的“廠商標(biāo)準(zhǔn)”,而“廠商標(biāo)準(zhǔn)”是在遵循“工業(yè)標(biāo)準(zhǔn)”的前提下擴(kuò)展而來的。
VC++應(yīng)用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢,但為了對WINDOWS開發(fā)有一個較為全面細(xì)致的認(rèn)識,筆者在這里還是以講解WIN API的相關(guān)內(nèi)容為主線。
話說到這里可能更多人關(guān)心的是學(xué)習(xí)VC++需要具備什么條件,為什么對于這扇門屢攻不破呢?
要想學(xué)習(xí)好VC必須具備良好的C/C++的基礎(chǔ),必要的英語閱讀能力也是必不可少的,因?yàn)榇罅康募夹g(shù)文檔多以英文形式發(fā)布。
VC++6.0基于C,C++語言,主要由是MFC組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強(qiáng)大,靈活,執(zhí)行效率高,幾乎可說VC在 Windows平臺無所不能。 最大缺點(diǎn)是開發(fā)效率不高。
【編輯推薦】