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