c++ 編譯器
本文將為大家?guī)淼氖菐卓詈?jiǎn)單實(shí)用的c++編譯器(非ide),希望大家喜歡。
1. gcc(gnu?compiler?collection)
官方網(wǎng)站: https://gcc.gnu.org/
gcc有windows移植版本,比較出名的就是mingw和tdm-gcc
gnu編譯器套件(gnu?compiler?collection)包括c、c++、objective-c、fortran、java、ada和go語言的前端,也包括了這些語言的庫(如libstdc++、libgcj等等)。gcc的初衷是為gnu操作系統(tǒng)專門編寫的一款編譯器。gnu系統(tǒng)是徹底的自由軟件。此處,“自由”的含義是它尊重用戶的自由。
2. llvm+clang
llvm官方網(wǎng)站:http://llvm.org/
clang官方網(wǎng)站:http://clang.llvm.org/get_started.html
llvm是構(gòu)架編譯器(compiler)的框架系統(tǒng),以c++編寫而成,用于優(yōu)化以任意程序語言編寫的程序的編譯時(shí)間(compile-time)、鏈接時(shí)間(link-time)、運(yùn)行時(shí)間(run-time)以及空閑時(shí)間(idle-time),對(duì)開發(fā)者保持開放,并兼容已有腳本。llvm計(jì)劃啟動(dòng)于2000年,最初由university?of?illinois?at?urbana-champaign的chris?lattner主持開展。2006年chris?lattner加盟apple?inc.并致力于llvm在apple開發(fā)體系中的應(yīng)用。apple也是llvm計(jì)劃的主要資助者.
low?level?virtual?machine?(llvm)?是一個(gè)開源的編譯器架構(gòu),它已經(jīng)被成功應(yīng)用到多個(gè)應(yīng)用領(lǐng)域。clang?(?發(fā)音為?/kl??/)?是?llvm?的一個(gè)編譯器前端,它目前支持?c,?c++,?objective-c?以及?objective-c++?等編程語言。clang?對(duì)源程序進(jìn)行詞法分析和語義分析,并將分析結(jié)果轉(zhuǎn)換為?abstract?syntax?tree?(?抽象語法樹?)?,最后使用?llvm?作為后端代碼的生成器。
clang?的開發(fā)目標(biāo)是提供一個(gè)可以替代?gcc?的前端編譯器。與?gcc?相比,clang?是一個(gè)重新設(shè)計(jì)的編譯器前端,具有一系列優(yōu)點(diǎn),例如模塊化,代碼簡(jiǎn)單易懂,占用內(nèi)存小以及容易擴(kuò)展和重用等。由于?clang?在設(shè)計(jì)上的優(yōu)異性,使得?clang?非常適合用于設(shè)計(jì)源代碼級(jí)別的分析和轉(zhuǎn)化工具。clang?也已經(jīng)被應(yīng)用到一些重要的開發(fā)領(lǐng)域,如?static?analysis?是一個(gè)基于?clang?的靜態(tài)代碼分析工具。
3. watcom?c/c++
官方網(wǎng)站:http://www.openwatcom.org/index.php/download
在dos開發(fā)環(huán)境中,watcom?c/c++?編譯器?以編譯后的exe運(yùn)行高速而著稱,且首個(gè)支持intel?80386?"保護(hù)模式"的編譯器。于90年代中期,大批的雄心技術(shù)游戲(例如?doom、descent、duke?nukem?3d?都以?watcom?c?寫成)
watcom?c/c++?編譯器、watch?fortran?編譯器?經(jīng)已在不其先前所屬公司sybase售賣,?而被?scitech?軟件公司?作為?open?watcom?開源包?發(fā)行。類似于其他的?開源編譯器(例如?[gcc])項(xiàng)目,watcom?c代碼小而便攜,?其編譯器后端(代碼生成器)的目標(biāo)碼可變。該編譯器可在dos、os/2、windows等操作系統(tǒng)上運(yùn)行,并生成各種可運(yùn)行的(不必是該操作系統(tǒng)的)代碼。該編譯器支持novell?netware的?nlm?目標(biāo)碼。目前正進(jìn)行?為?linux[1]?、modern?bsd?(例如freebsd)?操作系統(tǒng)?重定目標(biāo)碼,?以便在?x86、powerpc?及 其它處理器上運(yùn)行。open?watcom?c/c++?的1.4版于2005年12月發(fā)行,采用?linux?x86?為實(shí)驗(yàn)?zāi)繕?biāo),?支持nt、os/2等host平臺(tái).?曾有某被棄置的qnx版本,但其編譯所須的庫并未開源發(fā)行。當(dāng)前最近的穩(wěn)定版是1.9版,在2010年6月發(fā)行。
4. digital?mars
官方網(wǎng)站:http://www.digitalmars.com/
digitalmars是一款高性能的編譯器,功能包含,快速編譯/鏈接時(shí)、強(qiáng)大的優(yōu)化技術(shù)、contract設(shè)計(jì)、完整的資源庫、瀏覽html文檔,反匯編、庫、資源編譯器等。命令行及gui版本、教程、代碼示例、在線更新、標(biāo)準(zhǔn)模板庫等等。
5. msvc系列
與visual?studio集成發(fā)布,微軟自己的編譯器,vs是一個(gè)基本完整的開發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部分工具,如uml工具、代碼管控工具、集成開發(fā)環(huán)境(ide)等等。所寫的目標(biāo)代碼適用于微軟支持的所有平臺(tái),包括microsoft?windows、windows?mobile、windows?ce、.net?framework、.net?compact?framework和microsoft?silverlight?及windows?phone。
6. borland系列(turbo?c和borland?c++)
borland?c++?builder?compiler?是一個(gè)?bc編譯器。它是用來優(yōu)化?bc?開發(fā)系統(tǒng)的工具。它包括最后版本的?ansi/iso?c++?語言的支持,包括?rtl,c++?的?stl框架結(jié)構(gòu)支持。turbo?c(tc)是其早期的命令行編譯器作品
7. intel?c++
intel?c++?compiler?(簡(jiǎn)稱?icc?或?icl)是美國(guó)?intel?公司開發(fā)的?c/c++編譯器,適用于?linux、microsoft?windows?和?mac?os?x?操作系統(tǒng)。
intel?編譯支持?ia-32、intel?64、itanium?2、intel?atom?處理器和某些非?intel?的兼容處理器(例如某些?amd?處理器)。開發(fā)人員應(yīng)當(dāng)檢查系統(tǒng)需求。適用于?ia-32?和?intel?64?的?intel?c++?編譯器的主要特點(diǎn)是自動(dòng)向量化器,它能夠生成?sse、sse2?和?sse3?的?simd?指令及其適用于?intel?無線?mmx?和?mmx?2?的嵌入式變種。
intel?c++?compiler?進(jìn)一步支持?openmp?3.0?和適用于對(duì)稱多處理的自動(dòng)并行化。借助于?cluster?openmp?的附加能力,編譯器還可為分布存儲(chǔ)多處理根據(jù)?openmp?指示自動(dòng)生成消息傳遞接口調(diào)用。
intel?c++?compiler?可通過四種方式獲得,它分別是?intel?parallel?studio、intel?c++?compiler?專業(yè)版、intel?編譯器套裝和?intel?cluster?toolkit?編譯器版的一部分。該編譯器的最新發(fā)布是?intel?c++?compiler?14.0?版本
8. tcc(tiny?c?compiler)
官方網(wǎng)站:http://bellard.org/tcc/
tiny?c?compiler(縮寫為tcc,?tcc或tinycc)用于x86(16/32位)或是x86-64(64位)系統(tǒng)的c?compiler,而開發(fā)者為fabrice?bellard。軟件是設(shè)計(jì)用于低級(jí)電腦環(huán)境,或是于磁盤容量有限的空間中(1.44磁片或是硬盤)。軟件可以適用于windows、linux、unix操作系統(tǒng),而最新版本為0.9.26(feb?15,?2013)。tcc是在gnu寬通用公共許可證(lgpl)協(xié)議規(guī)范下發(fā)布。作者是大神法布里斯·貝拉(fabricebellard)
tcc符合ansi?c(c89/c90)規(guī)范,tiny?c?compiler?reference?documentation?accessed?on?2008-08-07]亦符合新版的iso?c99標(biāo)準(zhǔn)規(guī)范,與gnu?c擴(kuò)展的內(nèi)嵌匯編語言(即inline?assembler,內(nèi)聯(lián)匯編大陸用語)功能匯編語言。
而google?andriod系統(tǒng)內(nèi)亦曾經(jīng)內(nèi)置于其中,于andriod?2.0版本中