撰寫(xiě)本文的初衷并不打算帶領(lǐng)大家體驗(yàn)古老的C++歷史,如果你想了解C++的歷 史與其前期發(fā)展中諸多技術(shù)的演變,你應(yīng)當(dāng)去參考Bjarne的《The Design and Evo lution of C++》。當(dāng)然也不打算給大家一個(gè)無(wú)所不包的寶典(并非不想:其一是因 水平有限,其二無(wú)奈C++之博大精深),所給出的僅僅是一些我們認(rèn)為對(duì)于想學(xué)習(xí)C ++的廣大讀者來(lái)說(shuō)最重要并且觸手可及的開(kāi)發(fā)與學(xué)習(xí)資源。
這個(gè)是Borland C++ Builder和Borland C++ Builder X這兩種開(kāi)發(fā)環(huán)境的后臺(tái) 編譯器。(哦,我之所以將之分為兩種開(kāi)發(fā)環(huán)境你應(yīng)當(dāng)能明白為什么,正如Delphi 7到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)的編譯器”。
2.2 Visual C++
這個(gè)正是我們熟知的Visual Studio 和 Visual Studio.net 2002, 2003以及2 005 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)大的Visua l 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)為)。
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)容。
大名鼎鼎的微軟基礎(chǔ)類(lèi)庫(kù)(Microsoft Foundation Class)。大凡學(xué)過(guò)VC++的 人都應(yīng)該知道這個(gè)庫(kù)。雖然從技術(shù)角度講,MFC是不大漂亮的,但是它構(gòu)建于Windo ws API 之上,能夠使程序員的工作更容易,編程效率高,減少了大量在建立 Windo ws 程序時(shí)必須編寫(xiě)的代碼,同時(shí)它還提供了所有一般 C++ 編程的優(yōu)點(diǎn),例如繼承 和封裝。MFC 編寫(xiě)的程序在各個(gè)版本的Windows操作系統(tǒng)上是可移植的,例如,在 Windows 3.1下編寫(xiě)的代碼可以很容易地移植到 Windows NT 或 Windows 95 上。但 是在最近發(fā)展以及官方支持上日漸勢(shì)微。
Xerces-C++ 是一個(gè)非常健壯的XML解析器,它提供了驗(yàn)證,以及SAX和DOM API 。XML驗(yàn)證在文檔類(lèi)型定義(Document Type Definition,DTD)方面有很好的支持, 并且在2001年12月增加了支持W3C XML Schema 的基本完整的開(kāi)放標(biāo)準(zhǔn)。
這是一個(gè)平臺(tái)無(wú)關(guān)的C++組件框架,類(lèi)似于Java或者.NET中的框架(反射機(jī)制, 線程,Unicode,廢料收集,I/O,網(wǎng)絡(luò),實(shí)用工具,XML,等等),以及對(duì)Java, P erl, Python, TCL, Lisp, COM 和 CORBA的集成。