• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            清風(fēng)竹林

            ぷ雪飄絳梅映殘紅
               ぷ花舞霜飛映蒼松
                 ----- Do more,suffer less

            C++開源跨平臺(tái)類庫及在VC++.net中應(yīng)用的配置(轉(zhuǎn))

            在如下的庫支持下,開發(fā)的系統(tǒng)可以很方便移植到當(dāng)前大部分平臺(tái)上運(yùn)行而無需改動(dòng),只需在對(duì)應(yīng)的平臺(tái)下 用你喜歡的編譯器重新編譯即可。

            經(jīng)典的C++庫
              STLport-------SGI STL庫的跨平臺(tái)可移植版本,在以前有些編譯器離符合標(biāo)準(zhǔn)比較遠(yuǎn)的情況下 那時(shí)還是有用的,當(dāng)然目前vc71已經(jīng)比較接近標(biāo)準(zhǔn)了,故目前不怎么用它了。

              Boost---------準(zhǔn)標(biāo)準(zhǔn)庫, 功能強(qiáng)大 涉及能想的到的大部分非特別領(lǐng)域的算法,有一個(gè)大的C++社區(qū)支持。

              WxWindows-----功能強(qiáng)大的跨平臺(tái)GUI庫 ,它的功能和結(jié)構(gòu)都類似 MFC,故原則上可以通過WxWindows把現(xiàn)有MFC程序移植到非Win平臺(tái)下。

              Blitz---------高效率的數(shù)值計(jì)算函數(shù)庫 ,你可以訂制補(bǔ)充你需要的算法。

              Log4cpp-------日志處理 ,功能類似java中的log4j。

              ACE-----------自適應(yīng)通訊環(huán)境, 重量級(jí)的通訊環(huán)境庫。

              Crypto++ -----加/解密算法庫, 非常專業(yè)的C++ 密碼學(xué)函式庫。

              CppUnit --- 一個(gè)c++的單元測試框架 類似 java 的JUnit。

              Loki ------- 一個(gè)實(shí)驗(yàn)性質(zhì)的庫,嘗試把類似設(shè)計(jì)模式這樣思想層面的東西通過庫來提供,他是C++的一個(gè)模板庫,系C++"貴族", 它把C++模板的功能發(fā)揮到了極致。

            學(xué)術(shù)性的C++庫:

              FC++ --------The Functional C++ Library ,用庫來擴(kuò)充語言的一個(gè)代表作 ,模板庫。

              CGAL ------- Computational Geometry Algorithms Library計(jì)算幾何方面的大部分重要的解決方案和方法以C++庫的形式提供給工業(yè)和學(xué)術(shù)界的用戶。

            其它目前我感覺還不是很爽的C++庫:

              Doxygen ----注釋文檔生成工具 ,可恨的是我找不到 windows版本。

              QT ----------大名頂頂?shù)囊粋€(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架(GUI庫)可氣的是他的 Windows版 是商業(yè)發(fā)布的要付費(fèi)。

              xml4c--------IBM開發(fā)的XML Parser,系超重量級(jí)的, 適用大型應(yīng)用中, 其DLL有 12M,恐怖吧。

              Xerces c++ --Apache的XML項(xiàng)目, 但 只支持少數(shù)的字符編碼,如ASCII,UTF-8,UTF-16等,不能處理包含中文字符的XML文檔。

              XMLBooster ----- 也是一種 XML的 解析工具。

              Fox -------又一種開放源代碼(C++)的GUI庫,功能不是很強(qiáng)。

            C++開發(fā)環(huán)境(Win平臺(tái)下除了 Visual C++ 和 Borland C++以外的):

              Cygwin --------Windows下的一個(gè)Unix仿真環(huán)境。

              MinGW --------GCC的一個(gè)Windows移植版本。

              Dev C++ -------- 一個(gè)C/C++ 的集成開發(fā)環(huán)境,在Windows上的C++編譯器一直和標(biāo)準(zhǔn)有著一段距離的時(shí)候,GCC就是一個(gè)讓W(xué)indows下開發(fā)者流口水的編譯器。

              Eclipse-CDT ----IMB 開發(fā)的一個(gè)集成開發(fā)環(huán)境,一般用來作為Java 開發(fā)環(huán)境,但由于Eclipse 是通過插件體系來擴(kuò)展功能,這里我們 安裝 CDT插件后,就可以用來作為C++ 的集成開發(fā)環(huán)境。



            經(jīng)典的C++庫在VC++.net中應(yīng)用的配置

            以下以 vc71環(huán)境 為例,其他環(huán)境 見各軟件包的說明文檔。

            1. STLport (SGI STL庫的跨平臺(tái)可移植版本。)
            -------http://www.stlport.org

            vc71環(huán)境中編譯安裝
            版本:STLport-4.6.2.tar.gz
            copy vc71.mak makefile
            nmake clean all

            頭文件在 %STLport_root%/include\stlport
            庫文件在 %STLport_root%/lib

            頭文件添加方法如:
            #include 需要鏈接lib庫

            2 WxWindows (跨平臺(tái)的GUI庫)
            --------http://www.wxwindows.org
            --------http://sourceforge.net/projects/wxwindows
            --------http://i18n.linux.net.cn/others/wxWindowstut/wxTutorial.html

              因?yàn)槠漕悓哟螛O像MFC,所以有文章介紹從MFC到WxWindows的代碼移植以實(shí)現(xiàn)跨平臺(tái)的功能。通過多年的開發(fā)也是一個(gè)日趨完善的GUI庫,支持同樣不弱于前面兩個(gè)庫。并且是完全開放源代碼的。新近的C++ Builder X的GUI設(shè)計(jì)器就是基于這個(gè)庫的。

            vc71環(huán)境中編譯安裝
            版本:wxMSW-2.6.0-Setup.exe
            copy makefile.vc makefile
            通過 配置 config.vc 的 SHARED = 0 和 BUILD = debug
            確定 nmake clean all 的四種編譯結(jié)果:

            include頭文件: include\wx
            Lib庫文件: lib\vc_dll 和 lib\vc_lib
            DLL: lib\vc_dll

            頭文件在 %wxWidgets_root%/include\wx
            庫文件在 %wxWidgets_root%/lib\vc_dll 和 %wxWidgets_root%/lib\vc_lib

            頭文件添加方法如:
            #include 需要鏈接lib庫

            3 boost (“準(zhǔn)”標(biāo)準(zhǔn)庫)
            ------http://www.boost.org/
            ------http://sourceforge.net/projects/boost/

              Boost庫是一個(gè)經(jīng)過千錘百煉、可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的發(fā)動(dòng)機(jī)之一。 Boost庫由C++標(biāo)準(zhǔn)委員會(huì)庫工作組成員發(fā)起,在C++社區(qū)中影響甚大,其成員已近2000人。 Boost庫為我們帶來了最新、最酷、最實(shí)用的技術(shù),是不折不扣的“準(zhǔn)”標(biāo)準(zhǔn)庫。

            vc71環(huán)境中編譯安裝
            版本:boost_1_32_0.exe

            首先進(jìn)入 tools\build\jam_src 運(yùn)行 build.bat 得到一個(gè)工具: bjam.exe
            將其復(fù)制到 boost_root 目錄下
            執(zhí)行 bjam "-sTOOLS=vc-7_1" stage 開始編譯 (bjam "-sTOOLS=vc-7_1" install)

            頭文件在 %boost_root%/boost
            庫文件在 %boost_root%/stage\lib

            頭文件添加方法如:
            #include 有時(shí)要鏈接lib庫

              Boost中比較有名氣的有這么幾個(gè)庫:
              Regex正則表達(dá)式庫
              Spirit
              LL parser framework,用C++代碼直接表達(dá)EBNF
              Graph圖組件和算法
              Lambda在調(diào)用的地方定義短小匿名的函數(shù)對(duì)象,很實(shí)用的functional功能
              concept check檢查泛型編程中的concept
              Mpl用模板實(shí)現(xiàn)的元編程框架
              Thread可移植的C++多線程庫
              Python把C++類和函數(shù)映射到Python之中
              Pool內(nèi)存池管理
              smart_ptr5個(gè)智能指針,學(xué)習(xí)智能指針必讀,一份不錯(cuò)的參考是來自CUJ的文章:Smart Pointers in Boost,哦,這篇文章可以查到,CUJ是提供在線瀏覽的。

              Boost總體來說是實(shí)用價(jià)值很高,質(zhì)量很高的庫。并且由于其對(duì)跨平臺(tái)的強(qiáng)調(diào),對(duì)標(biāo)準(zhǔn)C++的強(qiáng)調(diào),是編寫平臺(tái)無關(guān),現(xiàn)代C++的開發(fā)者必備的 工具。但是Boost中也有很多是實(shí)驗(yàn)性質(zhì)的東西,在實(shí)際的開發(fā)中實(shí)用需要謹(jǐn)慎。并且很多Boost中的庫功能堪稱對(duì)語言功能的擴(kuò)展,其構(gòu)造用盡精巧的手 法,不要貿(mào)然的花費(fèi)時(shí)間研讀。Boost另外一面,比如Graph這樣的庫則是具有工業(yè)強(qiáng)度,結(jié)構(gòu)良好,非常值得研讀的精品代碼,并且也可以放心的在產(chǎn)品 代碼中多多利用。

            4 blitz (高效率的數(shù)值計(jì)算函數(shù)庫)
            ------http://folk.uio.no/patricg/blitz/html/index.html
            ------http://www.oonumerics.org/blitz/
            ------http://sourceforge.net/projects/blitz/

              Blitz++ 是一個(gè)高效率的數(shù)值計(jì)算函數(shù)庫,它的設(shè)計(jì)目的是希望建立一套既具像C++ 一樣方便,同時(shí)又比Fortran速度更快的數(shù)值計(jì)算環(huán)境。通常,用C++所寫出的數(shù)值程序,比 Fortran慢20%左右,因此Blitz++正是要改掉這個(gè)缺點(diǎn)。方法是利用C++的template技術(shù),程序執(zhí)行甚至可以比Fortran更快。

              Blitz++目前仍在發(fā)展中,對(duì)于常見的SVD,F(xiàn)FTs,QMRES等常見的線性代數(shù)方法并不提供,不過使用者可以很容易地利用Blitz++所提供的函數(shù)來構(gòu)建。

            vc71環(huán)境中編譯安裝
            版本:blitz-0.8.tar.gz

            將 blitz-0.8/Blitz-VS.NET.zip 解壓到當(dāng)前目錄下
            打開 Blitz-Library.sln 編譯即可

            頭文件在 %blitz_root%/blitz
            %blitz_root%/random
            庫文件在 %blitz_root%/lib (靜態(tài)庫)

            頭文件添加方法如:
            #include 有時(shí)要鏈接lib庫
            #include 不需要lib庫

            5 log4cpp (日志處理)
            -------http://sourceforge.net/projects/log4cpp/
            -------http://log4cpp.hora-obscura.de/index.php/Main_Page

              Log4cpp 是 Log4J 的 C++ 移植版本,開放源代碼并且完全免費(fèi)。與 Log4J 能夠跨平臺(tái)一樣,Log4cpp也致力于寫出跨平臺(tái)的 C++ 程序。Log4cpp 主要是用于 C++ 程序中寫 log 文件,與此同時(shí),Log4cpp 中有很多有用的類庫,對(duì)于寫跨平臺(tái) C++ 程序的人來說,可以直接拿來用,或者作為自己寫跨平臺(tái)類的參考。

              Log4cpp 中的跨平臺(tái)類庫有明顯的 Java 痕跡,比如 Class、Object 、Loader、Locale 等類。 Log4cpp
            中的類都可以根據(jù)類名 new 出一個(gè) instance,其實(shí)現(xiàn)的方式和 MFC 如出一轍:通過 C++ 強(qiáng)大的宏來實(shí)現(xiàn)。

            Log4cpp 中的跨平臺(tái)類庫主要有:

            信號(hào)類:Condition(broadcast,signal,wait),CriticalSection (lock,unlock),WaitAccess,
            Event(set,reset,wait),Mutex(lock,unlock), Semaphore(wait,tryWait,post)

            網(wǎng)絡(luò)類:InetAddress,Socket,ServerSocket,DatagramSocket,SocketInputStream,
            SocketOutputStream

            日期類:DateFormat,DateTimeDateFormat,System(currentTimeMillis)

            文件類:FileWatchdog(doOnChange)

            內(nèi)存操作類:基于引用計(jì)數(shù)機(jī)制的智能指針 ObjectPtrT
            字符串操作類:StrictMath,StringHelper(toUpperCase,toLowerCase,trim,equalsIgnoreCase,endsWith,format),StringTokenizer

            線程類:Thread(start,run,join)

              使用以上的類不用考慮 thread handle, event handle, socket handle 之類的 handle 問題,所有這些文
            件 已經(jīng)被封裝了。很好用,對(duì)不對(duì)?不足之處在于沒有 GUI 類。ANSI C++ 中對(duì)于目錄等文件系統(tǒng)的處理功能較弱,這里面也沒有目錄處理類。另外 Socket 的 read(void * buf, size_t len) 不能設(shè)置 timeout,并且如果讀取數(shù)據(jù)個(gè)數(shù)小于 len 那么 read 函數(shù)將一直堵塞,不太好用,很可惜。實(shí)際的使用上面,可以考慮做一個(gè) Socket 子類,重寫 read() 函數(shù)。

            vc71環(huán)境中編譯安裝
            版本:log4cpp-0.3.5rc1.tar.gz

            打開 msvc6 編譯即可

            頭文件在 %log4cpp_root%/include\log4cpp
            庫文件在 %log4cpp_root%/lib

            頭文件添加方法如:
            #include 需要鏈接lib庫

            6 Crypto++ 加/解密算法庫
            ---http://sourceforge.net/projects/cryptopp/
            ---http://www.eskimo.com/~weidai/cryptlib.html
            ---http://www.cryptopp.com

              提供處理密碼,消息驗(yàn)證,單向hash,公匙加密系統(tǒng)等功能的免費(fèi)庫。

              Crypto++ 是一個(gè)非常專業(yè)的C++ 密碼學(xué)函式庫,幾乎在密碼學(xué)里頭常見的演算法都可以在Crypto++
            找到實(shí)作的函式,如:block 與stream ciphers,hash functions,MACs,random number generators,public key 加密...等方法

            vc71環(huán)境中編譯安裝
            版本:cryptopp521.zip

            直接通過 cryptest.dsw 相關(guān)的庫

            頭文件在 %cryptopp_root%
            庫文件在 %cryptopp_root%/lib

            頭文件添加方法如:
            #include <*.h> 需要鏈接lib庫

            7 ACE

            ------http://www.cs.wustl.edu/~schmidt/ACE.html

              C+ +庫的代表,超重量級(jí)的網(wǎng)絡(luò)通信開發(fā)框架。ACE自適配通信環(huán)境(Adaptive Communication Environment)是可以自由使用、開放源代碼的面向?qū)ο罂蚣埽谄渲袑?shí)現(xiàn)了許多用于并發(fā)通信軟件的核心模式。ACE提供了一組豐富的可復(fù)用C++ 包裝外觀(Wrapper Facade)和框架組件,可跨越多種平臺(tái)完成通用的通信軟件任務(wù),其中包括:

              事件多路分離和事件處理器分派、信號(hào)處理、服務(wù)初始化、進(jìn)程間通信、共享內(nèi)存管理、消息路由、分布式服務(wù)動(dòng)態(tài)(重)配置、并發(fā)執(zhí)行和同步,等等。

            8. CppUnit
            -------http://sourceforge.net/projects/cppuint/

              一個(gè)c++的單元測試框架,可以通過派生測試類的方式,定制具體的測試方案。xUnit家族的一員,從JUnit移植而來,JUnit是Java語言的單元測試框架。

            vc71環(huán)境中編譯安裝
            版本:cppunit-1.10.2.tar.gz

            直接通過 CppUnitLibraries.dsw 編譯相關(guān)的庫

            頭文件在 %cppunit_root%/cppunit
            庫文件在 %cppunit_root%/lib

            頭文件添加方法如:
            #include 需要鏈接lib庫

            9 Loki
            -----http://moderncppdesign.com
            -----http://sourceforge.net/projects/loki-lib/
            -----http://sourceforge.net/projects/loki-exp/

              其實(shí)可和Boost一起介紹它,一個(gè)實(shí)驗(yàn)性質(zhì)的庫。作者在loki中把C++模板的功能發(fā)揮到了極致。并且嘗試把類似設(shè)計(jì)模式這樣思想層面的東西通過庫來提供。同時(shí)還提供了智能指針這樣比較實(shí)用的功能。

              該庫系模板庫,庫本身無需編譯,在你的工程文件中 引用頭文件就可以使用,如果 你直接或間接使用了small object,那你需要在你的工程文件加上SmallObj.cpp;如果 你直接或間接使用了Singletons,那你需要在你的工程文件 加上 Singleton.cpp

            學(xué)術(shù)性的C++庫的詳細(xì)介紹:

            1 FC++: The Functional C++ Library
            --------http://www.cc.gatech.edu/~yannis/fc++/

              這個(gè)庫提供了一些函數(shù)式語言中才有的要素。屬于用庫來擴(kuò)充語言的一個(gè)代表作。如果想要在OOP之外尋找另一分的樂趣,可以去看看函數(shù)式程序設(shè)計(jì)的世界。大師Peter Norvig在 “Teach Yourself Programming in
            Ten Years”一文中就將函數(shù)式語言列為至少應(yīng)當(dāng)學(xué)習(xí)的6類編程語言之一。

            當(dāng)前版本:FC++.1.5.zip
            模板庫,在實(shí)際工程中 ,加上要用的頭文件 就可以編譯。

            2 CGAL
            -----http://www.cgal.org

              Computational Geometry Algorithms Library的目的是把在計(jì)算幾何方面的大部分重要的解決方案和方
            法以C++庫的形式提供給工業(yè)和學(xué)術(shù)界的用戶。

            當(dāng)前版本:CGAL-3.1.zip
            這是一個(gè)已編譯的版本,當(dāng)然也包括完整的源碼

            頭文件在 %CGAL_root%/include/CGAL
            庫文件在 %CGAL_root%/lib/msvc7

            頭文件添加方法如:
            #include 需要鏈接lib庫

            其它目前我感覺還不是很爽的C++庫的詳細(xì)介紹:

            1 Doxygen
            ------http://sourceforge.net/projects/doxygen/
            ------http://www.stack.nl/~dimitri/doxygen/

              注釋文檔生成工具,較之Doc++功能更為齊全,可以生成包括HTML、PDF、RTF在內(nèi)的多種格式的文檔,并有GUI界面,除了支持c/c++語言外,還支持IDL、java、PHP、c#等。

            2、 QT(windows版要付錢)
            -------http://www.trolltech.com/
            -------http://www.qiliang.net/qt.html

              Qt是Trolltech公司的一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功 能。Qt是完全面向?qū)ο蟮暮苋菀讛U(kuò)展,并且允許真正地組件編程。自從1996年早些時(shí)候,Qt進(jìn)入商業(yè)領(lǐng)域,它已經(jīng)成為全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序 的基礎(chǔ)。Qt也是流行的Linux桌面環(huán)境KDE 的基礎(chǔ),同時(shí)它還支持Windows、Macintosh、Unix/X11等多種平臺(tái)。

            3、Fox
            ---------http://www.fox-toolkit.org/

              開放源代碼的GUI庫。作者從自己親身的開發(fā)經(jīng)驗(yàn)中得出了一個(gè)理想的GUI庫應(yīng)該是什么樣子的感受
            出發(fā),從而開始了對(duì)這個(gè)庫的開發(fā)。有興趣的可以嘗試一下。

            4 xml4c
            ------http://www.alphaworks.ibm.com/tech/xml4c

              IBM的XML Parser,用c++語言寫就,功能超級(jí)強(qiáng)大。號(hào)稱支持多達(dá)100種字符編碼,能夠支持中文,適合于大規(guī)模的xml應(yīng)用。若只是很小范圍的應(yīng)用,則非最佳選擇,畢竟,你需要“背負(fù)”約12M左右的dll的沉重負(fù)擔(dān)。

            5 Xerces c++
            -------http://xml.apache.org/xerces-c

              Apache的XML項(xiàng)目,同樣是c++ 實(shí)現(xiàn),來源于IBM的xml4c,因此編程接口也是和xml4c一致的。但是目前只支持少數(shù)的字符編碼,如ASCII,UTF-8,UTF-16等,不能處理包含中文字符的XML文檔。

              Xerces-C++ 是一個(gè)非常健壯的XML解析器,它提供了驗(yàn)證,以及SAX和DOM API。XML驗(yàn)證在文檔類型定義(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XML Schema的基本完整的開放標(biāo)準(zhǔn)。

            6 XMLBooster
            -------http://www.xmlbooster.com/

              這個(gè)庫通過產(chǎn)生特制的parser的辦法極大的提高了XML解析的速度,并且能夠產(chǎn)生相應(yīng)的GUI程序來修改這個(gè)parser。在DOM和SAX兩大主流XML解析辦法之外提供了另外一個(gè)可行的解決方案。

            C++開發(fā)環(huán)境(Win平臺(tái)下除了 Visual C++ 和 Borland C++以外的):

            1. Cygwin (Windows下的一個(gè)Unix仿真環(huán)境)

              這個(gè)Cygwin的一部分是GCC的另外一個(gè)Windows移植版本,Cygwin是Windows下的一個(gè)Unix仿真環(huán)境。嚴(yán)格的說是模擬GNU的環(huán)境,這也就是"Gnu's Not Unix"要表達(dá)的意思。

              至Cygwin的網(wǎng)站http://www.cygwin.com/下載安裝程式setup.exe,可直接點(diǎn)選執(zhí)行或先行下載至個(gè)人電腦後再執(zhí)行。目前我已經(jīng)下載到本地了,直接安裝即可。

            2. MinGW (GCC的一個(gè)Windows移植版本)

            1)http://sourceforge.net/projects/mingw 直接訪問的,點(diǎn)擊 Files,然后下載以下文件:MinGW-3.1.0-1.exe, mingw32-make-3.80.0-3.exe。
            安裝MinGW 到 C:/MinGW 目錄下,然后安裝 mingw32-make 到 C:/MinGW 下,通過瀏覽器
            到 C:/MinGW/bin 下,將 mingw32-make.exe 改名或者另外復(fù)制為 make.exe。

            (以上的設(shè)置已經(jīng)足夠。不過為了求新,我是同時(shí)下載了 gcc-core-3.4.2-20040916-1.tar.gz,mingw-runtime-3.5.tar.gz 和 w32api-3.1.tar.gz,將它們直接解壓到 C:/MinGW 下更新舊的文件。不過這對(duì)這篇文章本身沒有任何影響。新舊兩種配置我都測試過。)

            安裝次序:
            MinGW-3.1.0-1.exe
            mingw32-make-3.80.0-3.exe
            gcc-core-3.4.2-20040916-1.tar.gz
            mingw-runtime-3.5.tar.gz
            w32api-3.1.tar.gz
            gdb-5.2.1-1.exe
            mingw-utils-0.3.tar.gz
            binutils-2.15.91-20040904-1.tar.gz

            3)準(zhǔn)備MinGW 用戶開發(fā)的命令行環(huán)境(一個(gè)批處理)
            如: mingw.bat
            @rem --------------------------------------
            @SET MINGW_ROOT=D:\Mingw

            @rem
            @echo Setting environment for using Mingw.
            @rem

            @set PATH=%MINGW_ROOT%\BIN;%PATH%
            @set INCLUDE=%MINGW_ROOT%\INCLUDE;%MINGW_ROOT%\INCLUDE\c++\3.2.3;%MINGW_ROOT%\include\c++\3.2.3\mingw32;%MINGW_ROOT%\include\c++\3.2.3\backward;%INCLUDE%
            @set LIB=MINGW_ROOT\LIB;%LIB%
            @rem ----------------------------------------

            3. Dev C++ (一個(gè)C/C++ 的集成開發(fā)環(huán)境)

              GCC是一個(gè)很好的編譯器。在Windows上的C++編譯器一直和標(biāo)準(zhǔn)有著一段距離的時(shí)候,GCC就是一個(gè)讓W(xué)indows下開發(fā)者流口水的 編譯器。Dev-C++就是能夠讓GCC跑在Windows下的工具,作為集成開發(fā)環(huán)境,還提供了同專業(yè)IDE相媲美的語法高亮,代碼提示,調(diào)試等功能。 由于使用Delphi開發(fā),占用內(nèi)存少,速度很快,比較適合輕量級(jí)的學(xué)習(xí)和使用。

              可以使用 MinGW-GCC 作為它的編譯器

            4 Eclipse-CDT

            游戲開發(fā)

            Audio/Video 3D C++ Programming Library

            ------http://www.galacticasoftware.com/products/av/
            ------http://sourceforge.net/projects/av3d/

              AV3D是一個(gè)跨平臺(tái),高性能的C++庫。主要的特性是提供3D圖形,聲效支持(SB,以及S3M),控制接口(鍵盤,鼠標(biāo)和遙感),XMS。

            KlayGE

            ------http://home.g365.net/enginedev/
            ------http://sourceforge.net/projects/klayge/

              國內(nèi)游戲開發(fā)高手自己用C++開發(fā)的一個(gè)開放源代碼、跨平臺(tái)的游戲引擎。KlayGE是一個(gè)開放源代碼、跨平臺(tái)的游戲引擎,并使用Python作腳本語言。KlayGE在LGPL協(xié)議下發(fā)行。感謝龔敏敏先生為中國游戲開發(fā)事業(yè)所做出的貢獻(xiàn)。

            OGRE

            ------http://www.ogre3d.org
            ------http://www.ogre3d.org/docs/manual/
            ------http://sourceforge.net/projects/ogre

              OGRE(面向?qū)ο蟮膱D形渲染引擎)是用C++開發(fā)的,使用靈活的面向?qū)ο?D引擎。它的目的是讓開發(fā)者能更方便和直接地開發(fā)基于3D硬件設(shè)備 的應(yīng)用程序或游戲。引擎中的類庫對(duì)更底層的系統(tǒng)庫(如:Direct3D和OpenGL)的全部使用細(xì)節(jié)進(jìn)行了抽象,并提供了基于現(xiàn)實(shí)世界對(duì)象的接口和其 它類。

            posted on 2009-02-25 10:06 李現(xiàn)民 閱讀(457) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 絕對(duì)盜版

            久久久久久久久无码精品亚洲日韩 | 久久青青草原综合伊人| 久久婷婷五月综合色奶水99啪| 久久人人爽人人爽人人片av麻烦| 最新久久免费视频| 亚洲中文久久精品无码ww16| 天堂久久天堂AV色综合| 久久66热人妻偷产精品9| 91精品婷婷国产综合久久| 亚洲人成电影网站久久| 久久精品国产一区| 午夜精品久久影院蜜桃| 2021久久精品国产99国产精品| 久久久久久久久久久免费精品| 久久精品中文无码资源站| 欧美一级久久久久久久大| 国产亚洲精品美女久久久| 久久久久久久免费视频| 久久精品国产精品青草app| 99久久国产综合精品女同图片| 精品人妻伦九区久久AAA片69| 无码人妻久久一区二区三区免费丨| 亚洲国产精品婷婷久久| 性做久久久久久久| 一本久久综合亚洲鲁鲁五月天| 国产精品久久波多野结衣| 一本久久知道综合久久| 亚洲AⅤ优女AV综合久久久| 亚洲精品国产成人99久久| 精品久久777| 97久久精品无码一区二区| 久久香蕉超碰97国产精品| 久久综合给合久久狠狠狠97色| 亚洲va久久久噜噜噜久久男同| 亚洲欧洲精品成人久久奇米网| 久久国产精品一区| 久久亚洲欧洲国产综合| 久久无码国产| 久久国产精品无| 亚洲va中文字幕无码久久不卡| 亚洲AV日韩精品久久久久|