另一篇涵蓋非常常見主題的文章。經常出現的問題例如:
- 我可以使用什麼 IDE?
- 有哪些編譯器?
- 哪個<插入>是最好的?
讓我們從
編譯器 編譯器是一個命令列應用程式(在大多數情況下),它接收你的原始碼檔案並生成一個可執行檔案。生成可執行檔案所使用的方法以及生成的可執行檔案的大小/最佳化程度將因編譯器而異。
編譯器不能幫助你編寫程式碼,它不是一個可以讓你輸入程式碼的開發環境。它的唯一目的是接收已編寫的程式碼並構建一個可執行檔案。
沒有一個編譯器比另一個更好。它們都有各自的優缺點。如果你想比較編譯器,請從它們自己網站上的技術規格進行比較。在大多數情況下,這樣做不會給你帶來多大的好處。如果你的關注點是最佳化,那麼在開發高度最佳化的程式碼時,最好的辦法是遵循標準的編碼技術。
一些常見的編譯器有
- MS Visual C++ 編譯器 (Windows) -
http://www.microsoft.com/express/vc/- GCC (Linux) -
http://gcc.gnu.org/- MingW (Windows) -
http://www.mingw.org/- Intel C++ 編譯器 (Linux, Windows, OS X) -
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm- Borland C++ 編譯器 (Windows) -
http://www.borland.com
整合開發環境 (IDE)
IDE 是一個完整的軟體開發套件。通常它們會捆綁文字編輯器、編譯器和偵錯程式。文字編輯器是主要組成部分,因為它們提供語法高亮、專案管理、原始碼控制整合等功能。
IDE 不是編譯器,但大多數 IDE 會附帶上一節中列出的編譯器之一。
例如,Dev-C++ 附帶 MingW,Code::Blocks 附帶 GCC。
IDE 的複雜性差異很大,有些更適合新手開發者,有些更適合高階/專業開發者。
注意:在其官方論壇上不再推薦 Dev-C++。應該改用 wxDev-C++。
一些常見的 IDE
易於使用 wxDev-C++ (Windows) -
http://wxdsgn.sourceforge.net/Anjuta (Linux) -
http://anjuta.sourceforge.net/
中等 Code::Blocks (Windows/Linux) -
http://www.codeblocks.org/MS Visual C++ Express (Windows) -
http://www.microsoft.com/express/vc/NetBeans (全部) -
http://www.netbeans.org/ KDevelop (Linux) -
http://www.kdevelop.org/Borland C++ (Windows) -
http://www.borland.com
困難 Eclipse CDT (全部) -
http://www.eclipse.org/
注意:你也可以隨意在任何你喜歡的文字編輯器中編寫程式碼,然後手動編譯。
偵錯程式 偵錯程式用於在應用程式執行時分析它。你可以在選定的點(斷點)暫停應用程式,並檢視變數值等資訊。
目前,似乎只有 2 個主要的偵錯程式在使用。
Microsoft Visual Studio 偵錯程式 (Windows) 這是一個高質量的偵錯程式。它易於使用,並且與 Visual Studio IDE 無縫整合。在處理多執行緒時確實存在一些小問題,但總體上工作得非常好。
GDB (全部) 這是一個開源偵錯程式,通常與 GCC/MingW 一起執行。它也是一個質量不錯的偵錯程式,但不幸的是,其多執行緒偵錯程式遠遠落後於 Visual Studio。
幸運的是,GDB 是平臺無關的,並且可以與許多 IDE 整合。不幸的是,這種整合有時非常難以使用且不直觀。
請在下方釋出更正/評論或問題。
其理由是 Visual Studio 提供了更多功能。尤其是在處理 .NET 時。你可以連結不同語言的程式集,它具有真正的整合原始碼控制,並且可以使用其他外掛(例如 SVN)。你還可以在一個解決方案中有多個專案等。
它比 Dev-C++(wxDev-C++) 複雜得多。
Eclipse (帶 CDT 外掛)。
我使用它是因為我的開發同時針對 Windows 和 Linux 系統。所以我更喜歡使用一個可以在多個平臺上使用的 IDE。Eclipse 還有一個不錯的外掛框架,因此我可以在兩個安裝上使用相同的 SubVersion 外掛。
我也使用它,因為它還有我喜歡的其他外掛(PHP、資料庫、建模等)。
我的編譯器是 GCC (Linux) 和 Mingw (Windows)。我在兩個平臺上都使用 GDB。
MingW 是 GCC 的一個補丁版本。你可以預期原始碼中不包含編譯器。任何從原始碼構建的應用程式都是如此。