C++ 編程軟體有哪些推薦?有沒有比 vc 6 更好的?


先用 VC++ 這樣的 IDE 入門吧,然後換成編輯器,Sunlime Text 2 加 SublimeClang 插件做語法檢查和語法提示,再加個 SublimeGDB 插件做圖形界面的調試器前端,寫點小代碼夠用了。最後再用回 VC++,感受它的強大。(至少得是 VS2010)


我曾經也做個c++,用過各種各樣的IDE,編輯器。市面上大多數c++相關的工具我基本都用過,下面我就逐個介紹吧。

首先,說說lz的vc6,這是個老古董了,已經老到c99之前了,所以坊間傳聞的它的c++支持不太標準就是因為這個。另外看樣子lz應該是在校的,或者是剛學習c++的新手。因為我曾經幫人考試c語言的時候他們用的就是vc6.另外現在還有一些工控機開發類的也是在用這個,vc6現在已經成了落後的代名詞了,建議lz儘快扔掉。

eclipse 這是做java開發的IDE,我雖然沒用它開發過c++,但用它做個其他語言的開發。在我看來它是不能很好的去做c++開發,因為這個IDE不太懂C++。

QT 這是做跨平台GUI開發,現在c++要做跨平台GUI開發沒有太多的選擇,QT是我見過跨平台GUI做得最好的。但與其他平台專有的GUI開發還是相差太遠。另外的編譯文件 的 qmake 是很linux化的一個東西,配置很靈活,最終生成的是makefile。這個東西我也說不上它好,也說不上它不好,總體來說一般。QT自帶的IDE還不是非常強大,離微軟的VS還相差太遠。

Makefile+Editor 這個是開源界很常見的一個組合,也是跨平台最靈活的一個組合。但新手和在公司上班的人士切勿模仿,效率實在太低,學習的成本非常高。我個人用的是 vim,但現在不做 c++開發,用vim做公司大型c++項目開發在我看來根本就不可行。

codeblocks 這也是一個跨平台的IDE並且免費,這玩意適合學生和做點小玩具用用。它也是簡單的將gcc和makefile組合下,但這麼多年過去了我依然沒有看見它在IDE方面有何重大的改進。如果熟悉makefile 和gcc 這個IDE完全可以忽略。

Visual Studio系列我用過2010,可惜一直未用過正版。我現在用mac機器上清一色的正版軟體,所以我強烈建議大家用正版,哪怕是express版本。Visual Studio 和 Visual AssistX 這兩個東西組合起來簡直是宇宙最強大的 C++ IDE,沒有之一。但價格也是最強的。

xcode 是mac上的IDE,理論上可以用來開發C++,但大多數都是用來做Objetive-c。xcode是mac自帶的ide,並且免費的,這為寫程序降低了不少門檻。我曾經學過一段時間的Objetive-c,xcode補全實在是太贊了,可以趕上Visual Studio。另外apple的編譯器clang的錯誤提示實在比gcc要友好n倍。用個簡單的比喻吧,gcc的錯誤提示機器都不一定讀的懂,clang的錯誤提示是文學作品。

另外就是jetbrains家的IDE了,這是一家專門做IDE的公司,他們敢做C#和Objetive-c的IDE來跟微軟和蘋果抗衡,可見他們多麼自信。我用過他們家其他語言的IDE非常不錯,另外他們家的IDE價格很公道,經常有打折。我很後悔沒有在開源中國在他們家產品3折時多買幾套他們的產品,他們家出的IDE必屬精品。


Visual Studio 2013,是地球上對C++支持的最好的IDE。而且很多人寫跨平台代碼也是在windows上調試的差不多了,然後才放進linux/ps4/xbox什麼的做最後一步測試的。


如果你是做項目,當然沒那麼多時間去研究和配置emacs和vim。個人覺得windows下,VS2010確實不好用,但是如果你安裝了VisualAssistX,尤其是新版本的VA特別好用,編碼和重構以及瀏覽代碼很方便。你可以選擇eclipse的cdt,codeblocks等但是對於調試這一塊確實VS比較好用,畢竟這是微軟的東西。你也可以配置你自己的emacs或者vim,並且配置emacs在Windows也是比較痛苦的一件事,就是用cygwin可以獲得和linux相似的功能,用起來確實不怎麼爽,你會遇到各種問題,然後Google它去重新配置修補,個人覺得浪費的時間不值得。即使配置了很好用的emacs,遇到的問題就是對於瀏覽大型的項目代碼,emacs不能方便的瀏覽代碼,你可能說有cedet,cscope,但是用過的人都知道,問題多多,並且cedet還會導致emacs很慢對於大型項目的代碼瀏覽。

所以在Windows下,投入最少的時間,獲得最穩定高效的開發環境,包括代碼提示,編輯,重構,瀏覽等等,強烈推薦VS2010+VisualAssistX。

對於Linux下,個人覺得對於大型項目,有兩個比較好的選擇:

1. 如果你的項目是基於CMake建立的,那麼通過CMake可以生成一個項目的eclipse cdt項目文件,你可以直接用eclipse打開,只要少量配置eclipse就可以獲得一個很好的開發環境。

2. Emacs+GDB+Csscope/Cedet確實也是不錯的選擇,當然只要就是項目的瀏覽和重構能力相對不好用,你需要花大量時間去配置。不可否認emacs在代碼編輯,也就是文字編輯,不包括代碼的重構,確實是最快的。但是自己想想,寫代碼不是比誰敲的快,而是花更多時間在代碼的可靠穩定重用,框架和演算法上。

1. VS2010+Visual AssistX

2. Eclipse Cdt + CMake (cmake 可以直接生成相應的項目文件)


codeblock, 做實驗最方便


我的首選是VisualStudio2010加VisualAssistX插件,如果你對VI比較喜歡的話,建議你加個ViEmu。VC6對當下的標準支持太差了。如果你有向linux下開發的想法,建議你使用徐峰推薦的gcc(g++) + gdb + vim + make,這個學習曲線大,而VisualStudio2010+VisualAssistX非常容易上手,所以以後如果轉向Windows下開發,開發工具方面幾乎不需要再學習。


居然沒人提QT?各種平台(嵌入式、PC、網路)、各種操作系統(LINUX、WIN、ANDROID)通吃......


同在用codeblocks,感覺很輕便,準備gcc+gdb+make file


推薦一個codeblocks,但是說實話,vc或者vs的調試功能很強大,其它的工具這方面確實不怎麼好用


code block 或者 cfree code block 個人感覺很舒服.....


建議使用linux下的GCC compiler 其編譯效率更高~,還可以使用Windows下的Cygwin,這些輕量級的編譯工具都是非常好用的~(我也是新手,歡迎討論)


推薦閱讀:

怎樣用C++實現生產者消費者的模擬?
C++向上轉型,為什麼不需要強制轉換?
有沒有一本書,專門講各種UI效果怎麼實現的,而不是講各種庫的使用辦法的?
打字速度對編程的影響大嗎?
為什麼同為系統級編程語言,Rust 能擁有現代構建/包管理工具,C++ 卻不能?

TAG:C | 集成開發環境 |