天天看點

幾款好的C/C++編譯器(編譯器而非IDE)

幾個介紹ide的部落格:

<a href="http://hi.baidu.com/chaosaco/item/21adc1b6aaf1fd75254b09e3" target="_blank">c/c++開發常用工具及系統程式設計</a>

<a href="http://www.csdn.net/article/2014-02-27/2818564-best-compilers-and-ides-for-c-programmers" target="_blank">c/c++開發者必不可少的15款編譯器+ide</a>

<a href="http://bbs.csdn.net/topics/20125493" target="_blank">c/c++聖戰</a>

大家說的都已經很多了,那麼我在這裡就不羅嗦口了,我着重講下編譯器。

gcc有windows移植版本,比較出名的就是mingw和tdm-gcc

llvm是構架編譯器(compiler)的架構系統,以c++編寫而成,用于優化以任意程式語言編寫的程式的編譯時間(compile-time)、連結時間(link-time)、運作時間(run-time)以及空閑時間(idle-time),對開發者保持開放,并相容已有腳本。llvm計劃啟動于2000年,最初由university of illinois at urbana-champaign的chris lattner主持開展。2006年chris lattner加盟apple inc.并緻力于llvm在apple開發體系中的應用。apple也是llvm計劃的主要資助者.

clang 的開發目标是提供一個可以替代 gcc 的前端編譯器。與 gcc 相比,clang 是一個重新設計的編譯器前端,具有一系列優點,例如子產品化,代碼簡單易懂,占用記憶體小以及容易擴充和重用等。由于 clang 在設計上的優異性,使得 clang 非常适合用于設計源代碼級别的分析和轉化工具。clang 也已經被應用到一些重要的開發領域,如 static analysis 是一個基于 clang 的靜态代碼分析工具。

在dos開發環境中,watcom c/c++ 編譯器 以編譯後的exe運作高速而著稱,且首個支援intel 80386 "保護模式"的編譯器。于90年代中期,大批的雄心技術遊戲(例如 doom、descent、duke nukem 3d 都以 watcom c 寫成)

watcom c/c++ 編譯器、watch fortran 編譯器 經已在不其先前所屬公司sybase售賣, 而被 scitech 軟體公司 作為 open watcom 開源包 發行。類似于其他的 開源編譯器(例如 [gcc])項目,watcom c代碼小而便攜, 其編譯器後端(代碼生成器)的目标碼可變。該編譯器可在dos、os/2、windows等作業系統上運作,并生成各種可運作的(不必是該作業系統的)代碼。該編譯器支援novell netware的 nlm 目标碼。目前正進行 為 linux[1] 、modern bsd (例如freebsd) 作業系統 重定目标碼, 以便在 x86、powerpc 及 其它處理器上運作。open watcom c/c++ 的1.4版于2005年12月發行,采用 linux x86 為實驗目标, 支援nt、os/2等host平台. 曾有某被棄置的qnx版本,但其編譯所須的庫并未開源發行。目前最近的穩定版是1.9版,在2010年6月發行

digitalmars是一款高性能的編譯器,功能包含,快速編譯/連結時、強大的優化技術、contract設計、完整的資源庫、浏覽html文檔,反彙編、庫、資源編譯器等。指令行及gui版本、教程、代碼示例、線上更新、标準模闆庫等等。

與visual studio內建釋出,微軟自己的編譯器,vs是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如uml工具、代碼管控工具、內建開發環境(ide)等等。所寫的目标代碼适用于微軟支援的所有平台,包括microsoft windows、windows mobile、windows ce、.net framework、.net compact framework和microsoft silverlight 及windows phone。

borland系列(turbo c和borland c++)

borland c++ builder compiler 是一個 bc編譯器。它是用來優化 bc 開發系統的工具。它包括最後版本的 ansi/iso c++ 語言的支援,包括 rtl,c++ 的 stl架構結構支援。turbo c(tc)是其早期的指令行編譯器作品

intel c++ compiler (簡稱 icc 或 icl)是美國 intel 公司開發的 c/c++編譯器,适用于 linux、microsoft windows 和 mac os x 作業系統。

intel 編譯支援 ia-32、intel 64、itanium 2、intel atom 處理器和某些非 intel 的相容處理器(例如某些 amd 處理器)。開發人員應當檢查系統需求。适用于 ia-32 和 intel 64 的 intel c++ 編譯器的主要特點是自動向量化器,它能夠生成 sse、sse2 和 sse3 的 simd 指令及其适用于 intel 無線 mmx 和 mmx 2 的嵌入式變種。

intel c++ compiler 進一步支援 openmp 3.0 和适用于對稱多處理的自動并行化。借助于 cluster openmp 的附加能力,編譯器還可為分布存儲多處理根據 openmp 訓示自動生成消息傳遞接口調用。

intel c++ compiler 可通過四種方式獲得,它分别是 intel parallel studio、intel c++ compiler 專業版、intel 編譯器套裝和 intel cluster toolkit 編譯器版的一部分。該編譯器的最新釋出是 intel c++ compiler 14.0 版本

tiny c compiler(縮寫為tcc, tcc或tinycc)用于x86(16/32位)或是x86-64(64位)系統的c compiler,而開發者為fabrice bellard。軟體是設計用于低級電腦環境,或是于磁盤容量有限的空間中(1.44磁片或是硬碟)。軟體可以适用于windows、linux、unix作業系統,而最新版本為0.9.26(feb 15, 2013)。tcc是在gnu寬通用公共許可證(lgpl)協定規範下釋出。作者是大神法布裡斯·貝拉(fabricebellard)

tcc符合ansi c(c89/c90)規範,tiny c compiler reference documentation accessed on 2008-08-07]亦符合新版的iso c99标準規範,與gnu c擴充的内嵌彙編語言(即inline assembler,内聯彙編大陸用語)功能彙編語言。

而google andriod系統内亦曾經内置于其中,于andriod 2.0版本中

其他一些沒有詳細解釋的編譯器

vectorc1.3.3,ibmvisualageforc++,kaic/c++4.03fforredhat7.2,lcc4.1,lcc-win32,smallc,cc386,pacificc

另外還有c的解釋器quincy,eic,cint

intel c/c++大家一看名稱就知道是intel的東西,它和vc6完全相容,不過要挂在vc6下才能用。watcom c/c++是早先編譯器四國大戰中的一員,原本是很不錯的東西,可惜戰略不對,現在已不見聲息了。倒是以它為基礎的一個openwatcom現在還在奮戰。vectorc是我近日才發現的一個好東東,它是個純c的編譯器。ibm的visualage for c++原本是ibm想用來淌c++編譯器這片渾水的東西,不過ibm的戰略改了,它就被放棄了。digitalmars c/c++的前身的symantec c++(它也是編譯器四國大戰中的一員),不過現在symantec不做了,于是它的作者就把它改成了digitalmars c/c++開放給大家使用。以上這些都是win32平台上的東西。kai c/c++是個很強大的c/c++編譯器,它是個多平台的編譯器。不過現在被intel收購了,已經停止開發了。lcc4.1是個純c的編譯器它是開放源代碼的。不過不怎麼好用。lcc-win32是一個在lcc基礎上開發的c語言的內建開發環境,很好用,而且有很詳細的資料,free!pacific c是一個純dos的c的內建開發環境,就不多說了。small c cc386都是開放源代碼的編譯器,它們都很簡單,應用來給大家學習編譯器的。

轉載:http://blog.csdn.net/gatieme/article/details/42914393

繼續閱讀