(from
經常有人向我(bjarne stroustrup)詢問,能否推薦乙個c++編譯器。但是,我不能做這樣的推薦,因為這樣非常容易捲入一場商業戰爭。同樣,我也不知道每一種c++編譯器,因為它們有太多的相似的地方。我使用六種c++編譯器來完成基本需要,但是僅僅從表面上來看它們都是參差不齊的。
我建議人們使用和標準嚴格一致的編譯器。如果你這樣做,就能夠避免編譯器不和iso標準近似的情況,以及不能使用標準庫的情況。最近一些來自主要c++廠商發行的編譯器都是這樣做的。
如果你是乙個新手,不知道如何檢視編譯器的構造,那麼使用下面的**:
#include
#include
using namespace std;
int main()
如果編譯器不能處理這段簡單的程式,那麼它就不能作為學習標準c++語言的候選編譯器。
這裡有一篇很長的文章論證編譯器的一致性,和boost.org的編譯器狀態文章。一致性是編譯器質量的一部分(產生**的質量,錯誤訊息,編譯速度,工具整合,支援程度,向後相容,以及其它重要的方面),但卻是很重要的一部分。編譯器廠商對語言的擴充和非標準特性的使用限制了程式的簡捷性,並且可以防止你選擇乙個新的編譯器廠商。
目前的編譯器都嵌入到了軟體開發工具和開發庫的框架裡邊。這些框架、環境、庫都非常有用,但是要記住一點是,對這些工具的使用將會使你侷限在單一的賣主上,侷限在重要的執行效能上。
當在網上尋找c++編譯器時,你可以發現隱藏在幾種產品名稱後的資訊。實際上,使用google.com,我非常幸運的發現了c++編譯器的資訊,這比起從廠商目錄中尋找要好的多。這裡,我選擇了乙個c++編譯器的名稱列表,不考慮它們的市場情況。
borland c++
comeau c++ - 支援多平台
compaq c++
digital mars c++
edison design group c++ front end - 被許多c++編譯器廠商採用
green hills c++ - 支援嵌入式系統平台
hp c++
ibm c++
intel c++ - 支援windows, linux, 和其他嵌入式系統
interstron c++
metrowerks c++ - 支援多平台,可從metrowerks主頁上查詢
mentor graphics/microtec research c++ - 支援嵌入式系統平台
microsoft c++
paradigm c++ - 支援x86嵌入式系統
the portland group c++ - 針對奔騰cpu優化
sgi c++ - 優化的編譯器
sun c++
windriver's diab c++ - 用於很多嵌入式系統
。此外,我只羅列了編譯器,我不會評價它們。同樣,他們也不是那種對任何人都是最好的編譯器,所以人們需要對它們進行更多的比較。
其它c++編譯器,請看the open directory project。
更多c++資源,請看my c++ page。
編譯器設計目錄
編譯原理的乙個小 這是目錄,求大神們支支招,給點思路!2 編譯程式結構和各步驟的作用 2.2詞法分析 2.2.1詞法分析的研究工具 2.2.2 你的編譯程式的文法 2.2.2.1 變數定義語句 2.2.2.2 賦值語句 2.2.2.3 if條件判斷語句 2.2.2.4 while條件迴圈語句 2.3...
c 編譯器編譯過程
編譯過程 編譯過程分為四步 預處理 編譯 彙編 連線 1.預處理 預處理主要處理原始檔中的 include define 等預處理等命令 預處理主要完成的工作有 參考 程式設計師的自我修養 1 刪除 define,展開巨集 2 處理條件編譯指令。預處理程式先判斷條件,再根據條件修改源 3 刪除注釋 ...
C 編譯器大全
dev c 優點 功能簡潔 noip官方編譯器 缺點 功能並不完善 不適合商業開發 面向人群 c 初學者 dev c 現在已經更名為smart c 但noip不使用該編譯器 visual c 或visual mingw 優點 1.與windows緊密結合 2.強大的類庫支援和類改造能力 3.擁有高效...