• 文章
  • 流行編譯器和 IDE 的比較
釋出
2010年5月16日 (最後更新:2011年9月25日)

流行編譯器和 IDE 的比較

得分:3.4/5 (148 票)
*****
區別
人們,尤其是初學者,常常混淆“編譯器”和“IDE”的區別。這很可能是因為編譯器協同工作

編譯器
嚴格來說,編譯器是一個程式,它將一種語言的高階原始碼翻譯成另一種更低階語言。例如,C++ 編譯器將 C++ 原始碼翻譯成目標平臺的組合語言。

然而,有時我們用“編譯器”來指代一個編譯器*工具鏈*,它(對於 C 和 C++ 等語言來說)由預處理器、翻譯器、彙編器和連結器組成。在本文中,“編譯器”一詞將統稱為工具鏈,而“翻譯器”一詞將指代將高階原始碼翻譯成另一種語言的程式。在現實世界中,人們經常互換使用這兩個術語——有時編譯器指翻譯器,有時指整個工具鏈。

IDE
在軟體開發領域,IDE 的縮寫通常指的是整合開發環境。整合開發環境顧名思義,就是一個整合化的開發環境。它通常包括一個文字編輯器和一個呼叫編譯器的機制。大多數 IDE 還包含額外的功能,例如專案管理、偵錯程式整合、程式碼補全、查詢替換、語法高亮等。

比較
編譯器
有很多流行的編譯器,其中包括 GNU Compiler Collection (GCC),它包含 gcc 和 g++(GNU C 編譯器和 GNU C++ 編譯器),以及微軟的 Visual C 和 Visual C++ 編譯器(注意:Visual C/C++ 也指 IDE;在指代 IDE 時,將使用“Visual C Studio”或“Visual C++ Studio”)。還有許多其他質量各異的編譯器,例如 Borland C/C++ 編譯器、Intel C++ 編譯器和 OpenWatcom 編譯器。在本文中,我們將重點關注 gcc 和 Visual C,因為它們是最流行的編譯器。

gcc/g++
  • 免費/開源 -- gcc 可以由*任何人*修改、派生或重新分發,前提是修改/派生/重新分發後的版本仍在新通用公共許可證 (GPL) 下許可。
  • 跨平臺 -- 由於 gcc 是開源的,它已成功移植到包括 Linux、Microsoft Windows 和 Mac OS 在內的各種平臺。如果您是 Linux 使用者,您幾乎肯定已經安裝了 gcc。您可能需要單獨安裝 g++,在這種情況下,您應該使用發行版的包管理器,或者下載原始碼並自行編譯。在 Windows 上,您可以在 MinGW 和 Cygwin 包中找到 gcc。
  • 快速 -- 作為一個現代化的最佳化編譯器,gcc 生成的程式碼相對高效。

注意:gcc 和 g++ 不應該大寫(以區分 gcc 和 GCC)。
Microsoft Visual C/C++
  • 免費 -- Visual C/C++ 的一個版本可從微軟網站免費用於個人或商業用途。
  • 偵錯程式 -- Visual C/C++ 以其強大的偵錯程式而聞名。

其他
還存在其他編譯器。其中有 tcc (Tiny C Compiler)、OpenWatcom 編譯器和 Intel C++ Compiler。OpenWatcom 是一個跨平臺(Windows、MS-DOS、Linux 等)的最佳化編譯器,可以生成 16 位程式碼(gcc 通常無法做到這一點)。Intel C++ 編譯器提供了非常徹底的最佳化。tcc 以其快速和小型而聞名,儘管它的最佳化能力有限。

最近出現的一個非常有趣的編譯器是 clang。clang 是 LLVM 的 C 系列語言的“前端”。clang 在當前編譯器方面有許多改進,例如增強的錯誤報告、相容性和效能提升。有關更多資訊,請參見 http://clang.llvm.org/。

IDE
流行的 IDE 包括

  • Dev-C++(注意:建議您改用 wxDev-C++,因為 Dev-C++ 已有 5 年未更新)
  • Code::Blocks
  • Netbeans
  • Microsoft Visual Studio
  • Eclipse
  • KDevelop

勘誤
  • 關於 Visual C/C++ -- 現在可以免費用於商業用途(**PGP Protector**)
  • 各種更正和建議(**helios**)
  • 包含 clang/LLVM(**softweyr**)