C++中的優(yōu)秀C++編譯器大集合
下面講述了關(guān)于一些C++中的優(yōu)秀C++編譯器,這些內(nèi)容都是一些門(mén)戶(hù)網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯(cuò)誤是我沒(méi)有挑出的,歡迎大家進(jìn)行交流切磋。
優(yōu)秀C++編譯器
在C++之外的任何語(yǔ)言中,編譯器都從來(lái)沒(méi)有受到過(guò)如此之重視。因?yàn)镃++是一門(mén)相當(dāng)復(fù)雜的語(yǔ)言,所以編譯器也難于構(gòu)建。直到最近我們才開(kāi)始能夠使用上完全符合C++標(biāo)準(zhǔn)的編譯器(哦,你可能會(huì)責(zé)怪那些編譯器廠商不能盡早的提供符合標(biāo)準(zhǔn)的編譯器,這只能怪他們各自維系著自身的一套別人不愿接受的標(biāo)準(zhǔn))。
什么?你說(shuō)這無(wú)關(guān)緊要?哦,不,你所需要的是和標(biāo)準(zhǔn)化C++高度兼容的編譯環(huán)境。長(zhǎng)遠(yuǎn)來(lái)看,只有這樣的編譯器對(duì)C++開(kāi)發(fā)人員來(lái)說(shuō)才是最有意義的工具,尤其是對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)者。
Borland C++
這個(gè)是Borland C++ Builder和Borland C++ Builder X這兩種開(kāi)發(fā)環(huán)境的后臺(tái)編譯器。(哦,我之所以將之分為兩種開(kāi)發(fā)環(huán)境你應(yīng)當(dāng)能明白為什么,正如Delphi7到Delphi8的轉(zhuǎn)變,是革命性的兩代。)Borland C++由老牌開(kāi)發(fā)工具廠商Borland傾力打造。
該公司的編譯器素以速度快,空間效率高著稱(chēng),Borland C++ 系列編譯器秉承了這個(gè)傳統(tǒng),屬于非常優(yōu)質(zhì)的編譯器。
標(biāo)準(zhǔn)化方面早在5.5版本的編譯器中對(duì)標(biāo)準(zhǔn)化C++的兼容就達(dá)到了92.73%。目前最新版本是Borland C++ Builder X中的6.0版本,官方稱(chēng)100%符合ANSI/ISO的C++標(biāo)準(zhǔn)以及C99標(biāo)準(zhǔn)。嗯…這正是我前面所指的“完全符合C++標(biāo)準(zhǔn)的編譯器”。#t#
Visual C++
這個(gè)正是我們熟知的Visual Studio 和 Visual Studio.net 2002, 2003以及2005 Whidbey中帶的C++編譯器。由Microsoft公司研制。在Visual Studio 6.0中,因?yàn)榫幾g器有太多地方不能與后來(lái)出現(xiàn)的C++標(biāo)準(zhǔn)相吻合而飽受批評(píng)(想想你在使用STL的時(shí)候編譯時(shí)報(bào)出的那些令人厭惡的error和warning吧)。
VC++6.0對(duì)標(biāo)準(zhǔn)化C++的兼容只有83.43%。但是隨著C++編譯器設(shè)計(jì)大師Stanley Lippman以及諸多C++社群達(dá)人的加盟,在Visual Studio.NET 2003中,Visual C++編譯器已經(jīng)成為一個(gè)非常成熟可靠的C++編譯器了。
Dr.Dobb's Journal的評(píng)測(cè)顯示Visual C++7.1對(duì)標(biāo)準(zhǔn)C++的兼容性高達(dá)98.22%,一度成為CBX之前兼容性最好的編譯器。結(jié)合強(qiáng)大的Visual Studio.NET開(kāi)發(fā)環(huán)境,是一個(gè)非常不錯(cuò)的選擇。
至于Whidbey時(shí)代的Visual C++,似乎微軟所最關(guān)注的是C++/CLI……我們不想評(píng)論微軟下一代的C++編譯器對(duì)標(biāo)準(zhǔn)化兼容如何,但他確實(shí)越來(lái)越適合.NET (其實(shí)你和我的感覺(jué)可能是一樣的,微軟不應(yīng)當(dāng)把標(biāo)準(zhǔn)C++這塊肥肉丟給Borland,然而微軟可能并不這樣認(rèn)為)。
GNU C++
著名的優(yōu)秀C++編譯器。是類(lèi)Unix操作系統(tǒng)下編寫(xiě)C++程序的首選。特點(diǎn)是有非常好的移植性,你可以在非常廣泛的平臺(tái)上使用它,同時(shí)也是編寫(xiě)跨平臺(tái),嵌入式程序很好的選擇。
另外在符合標(biāo)準(zhǔn)這個(gè)方面一直都非常好,GCC3.3大概能夠達(dá)到96.15%。但是由于其跨平臺(tái)的特性,在代碼尺寸速度等優(yōu)化上略微差一點(diǎn)。
基于GNU C++的編譯器有很多,比如:
GCC的另外一個(gè)Windows移植版本是Cygwin的一部分,Cygwin是Windows下的一個(gè)Unix仿真環(huán)境。嚴(yán)格的說(shuō)是模擬GNU的環(huán)境,這也就是"Gnu's Not Unix"要表達(dá)的意思,噢,扯遠(yuǎn)了,這并不是我們?cè)谶@里關(guān)心的實(shí)質(zhì)內(nèi)容。
Intel C++
著名CPU制造廠商Intel出品的編譯器,Special Design for Intel x86!對(duì)于Intel x86結(jié)構(gòu)的CPU經(jīng)過(guò)特別的優(yōu)化。在有些應(yīng)用情況下,特別是數(shù)值計(jì)算等高性能應(yīng)用,僅僅采用Intel的編譯器編譯就能大幅度的提高性能。
Digital Mars C++
網(wǎng)絡(luò)上提供免費(fèi)下載,Zortech/Symantec C++的繼承者,其前身在當(dāng)年慘烈的C++四國(guó)戰(zhàn)中也是主角之一。
開(kāi)發(fā)環(huán)境
開(kāi)發(fā)環(huán)境對(duì)于程序員的作用不言而喻。選擇自己朝夕相處的環(huán)境也不是容易的事情,特別是在IDE如此豐富的情況下。
下面就是我們推薦的一些常見(jiàn)的C++開(kāi)發(fā)環(huán)境,并沒(méi)有包括一些小型的,罕見(jiàn)的IDE。其中任何一款都是功能豐富,可以用作日常開(kāi)發(fā)使用的。對(duì)于不同層面的開(kāi)發(fā)者,請(qǐng)參見(jiàn)內(nèi)文關(guān)于適用對(duì)象的描述。
Visual Studio 6.0
這個(gè)雖然是Microsoft公司的老版本的開(kāi)發(fā)環(huán)境,但是鑒于其后繼版本Visual Studio.NET的龐大身軀,以及初學(xué)者并不那么高的功能要求,所以推薦這個(gè)開(kāi)發(fā)環(huán)境給C++的初學(xué)者。
供其學(xué)習(xí)C++的最基本的部分,比如C的那部分子集,當(dāng)然你別指望他能夠支持最新的C99標(biāo)準(zhǔn)。在日常的開(kāi)發(fā)中,仍然有很多公司使用這個(gè)經(jīng)典穩(wěn)定的環(huán)境,比如筆者就看曾親見(jiàn)有些公司將其編譯器替換為GCC做手機(jī)開(kāi)發(fā)之用。
Visual Studio.NET 2003
作為Microsoft公司官方正式發(fā)布的最新版本開(kāi)發(fā)環(huán)境,其中有太多激動(dòng)人心的功能。結(jié)合其最新的C++編譯器。對(duì)于機(jī)器配置比較好的開(kāi)發(fā)人員來(lái)說(shuō),使用這個(gè)開(kāi)發(fā)環(huán)境將能滿足其大部分的要求。這里不打算單獨(dú)說(shuō)Visual Studio Whidbey,雖然Visual Studio .NET 2005 - Whidbey社區(qū)預(yù)覽版已經(jīng)推出,但暫不是很穩(wěn)定,讀者可以親身去體驗(yàn)。
Borland C++ Builder 6
這個(gè)并不是Borland的C++開(kāi)發(fā)環(huán)境的最新版本。選擇它的原因是它不是用Java寫(xiě)的IDE,速度比較快。它有一個(gè)很完善的GUI窗體設(shè)計(jì)器,和Delphi共用一個(gè)VCL。由于這些特點(diǎn),比較適合初學(xué)者上手。但是由于其GUI的中心位置,可能不利于對(duì)于C++語(yǔ)言的學(xué)習(xí)。而且其為了支持VCL這個(gè)Object Pascal寫(xiě)的庫(kù)也對(duì)C++進(jìn)行了一些私有的擴(kuò)充。使得人們有一個(gè)不得不接受的事實(shí):“Borland C++ Builder 6的高手幾乎都是Delphi高手”。
Borland C++ Builder X
正如前文所述,雖然版本號(hào)上和前面那個(gè)IDE非常相象,但是其實(shí)它們是完全不同的兩個(gè)集成開(kāi)發(fā)環(huán)境。C++Builder更多的是一個(gè)和Delphi同步的C++版本的開(kāi)發(fā)環(huán)境,C++BuilderX則是完全從C++的角度思考得出的一個(gè)功能豐富的IDE。
其最大的特點(diǎn)是跨平臺(tái),跨編譯器,多種Framework的集成,并且有一個(gè)WxWindows為基礎(chǔ)的GUI設(shè)計(jì)器。尤其是采用了純C++來(lái)重寫(xiě)了整個(gè)Framework,摒棄了以前令人無(wú)奈的版本。對(duì)于優(yōu)秀C++編譯器的開(kāi)發(fā)來(lái)說(shuō),從編譯器,到庫(kù),到功能集成都是非常理想的。
可以預(yù)見(jiàn),Borland C++ Builder X 2.0很值得C++愛(ài)好者期待。唯一令人難堪之處是作為一個(gè)C++的開(kāi)發(fā)工具,其IDE是用Java寫(xiě)的,在配置不夠理想的機(jī)器上請(qǐng)慎重考慮再安裝。