• <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>

            Focus on ACE

            訂閱 ace-china
            電子郵件:
            瀏覽存于 groups.google.com 上的所有帖子

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              64 Posts :: 3 Stories :: 22 Comments :: 0 Trackbacks
            一、安裝TAO,需要先編譯并安裝ACE。

            二、ACE的編譯和安裝步驟見(jiàn)http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-INSTALL.html。TAO的編譯和安裝步驟見(jiàn)http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/TAO-INSTALL.html。如果你英文程度還可以的話(huà),最好直接閱讀這兩篇文檔。說(shuō)到底,中文文檔只是“權(quán)宜之計(jì)”;漢語(yǔ)并不太適合進(jìn)行邏輯性的表述。

            但我還是把其中的一些段落編譯如下(VC?6.0?+?ace-5.2.1?+?TAO-1.2.1):

            ACE的編譯與安裝

            一般規(guī)則

            ACE中的許多特性可以通過(guò)在$ACE_ROOT/ace/config.h中定義一些宏來(lái)進(jìn)行修改。這些宏應(yīng)該總是在包括針對(duì)你的平臺(tái)的配置文件之前出現(xiàn)。

            但是,如果你想要取消/重定義在針對(duì)特定平臺(tái)的配置文件中定義的宏,#undef應(yīng)該在配置文件之后出現(xiàn)。

            如果你計(jì)劃在多種平臺(tái)上編譯ACE,你也許需要考慮克隆源碼樹(shù)。

            步驟:

            1.?將ACE發(fā)布文件解壓縮到某個(gè)目錄中,在其中將會(huì)創(chuàng)建含有所有文件的ACE_wrappers目錄。在下面的步驟中,ACE_wrappers目錄將以ACE_ROOT為名來(lái)指稱(chēng)。

            2.?在A(yíng)CE_ROOT\ace目錄中創(chuàng)建一個(gè)名為config.h的文件,在其中包含:

            #include?“ace/config-win32.h”

            3.?現(xiàn)在加載ACE的項(xiàng)目文件(ACE_ROOT\ace\ace.dsw)。

            4.?其中的每個(gè)項(xiàng)目都含有若干不同的配置(可混合Debug/Release、MFC/Non-MFC、Static/Dynamic?library版本)。你可以從中選擇你所需的配置,或是使用ace/config.h來(lái)進(jìn)行調(diào)整。
            注意:如果你使用動(dòng)態(tài)鏈接庫(kù),在運(yùn)行使用ACE的程序時(shí),確定你在PATH中包括了ACE_ROOT\bin。

            5.?如果你的系統(tǒng)平臺(tái)是WinNT或2000,那么無(wú)需任何改動(dòng)你就可以開(kāi)始編譯了。如果是Windows?9x/Me,你需要在A(yíng)CE_ROOT\ace\config.h中的#include語(yǔ)句之前增加:

            #define?ACE_HAS_WINNT4?0

            6.?如果你想要使用MSVC標(biāo)準(zhǔn)C++頭(iostream、cstdio……),在A(yíng)CE_ROOT\ace\config.h中的#include語(yǔ)句之前增加:

            #define?ACE_HAS_STANDARD_CPP_LIBRARY?1

            7.?要與MFC一起使用ACE,再增加下面的定義:

            #define?ACE_HAS_MFC?1

            注意如果你想要通過(guò)CWinThread派生新線(xiàn)程,一定要設(shè)置THR_USE_AFX。在缺省情況下,所有的ACE項(xiàng)目都使用DLL版本的MSVC運(yùn)行時(shí)庫(kù)。盡管如此,你仍然可以選擇使用static(LIB)版本的ACE庫(kù)。如果你想要將MFC作為靜態(tài)庫(kù)鏈接進(jìn)ACE,你可以在config.h文件中定義ACE_USES_STATIC_MFC。但如果你想要靜態(tài)鏈接所有的東西(包括MSVC運(yùn)行時(shí)庫(kù)),你就需要自己修改ACE的項(xiàng)目文件。

            8.?ACE的靜態(tài)版本是通過(guò)定義ACE_AS_STATIC_LIBS來(lái)編譯的。在鏈接靜態(tài)ACE庫(kù)的應(yīng)用項(xiàng)目中也應(yīng)該使用這個(gè)宏。
            你也可以在config.h文件中增加

            #define?ACE_NO_INLINE

            來(lái)取消函數(shù)內(nèi)聯(lián)并減小靜態(tài)庫(kù)(和你的可執(zhí)行程序)的大小。

            9.?ace?DLL和LIB的命名方案:

            "Library/DLL名"?+?(是否為靜態(tài)庫(kù)???"s"?:?"")?+?(是否啟用了Debugging???"d"?:?"")?+?{".dll"|".lib"}

            10.?配置完畢后編譯即可。選擇dll版本,編譯生成的dll文件在A(yíng)CE_ROOT\bin中,相應(yīng)的lib文件在A(yíng)CE_ROOT\ace中。

            ACE測(cè)試

            各測(cè)試程序在A(yíng)CE_ROOT\tests中。在其中也有一個(gè)工作空間文件可用來(lái)編譯所有的測(cè)試程序(tests.dsw)。
            一旦你編譯了所有測(cè)試程序(可使用批編譯),你可以運(yùn)行tests目錄中的perl腳本run_test.pl或批處理文件run_tests.bat來(lái)進(jìn)行所有測(cè)試。

            TAO的編譯與安裝

            確定VC的CL.EXE在你的訪(fǎng)問(wèn)路徑上。設(shè)置ACE_ROOT或TAO_ROOT環(huán)境變量。例如:

            set?ACE_ROOT=C:\ACE_wrappers

            TAO最好放置在A(yíng)CE_wrappers(這也是缺省情況)。

            1.確定ACE已經(jīng)編譯和安裝。

            2.確定ACE_wrappers\bin已在“Tools|Options”中的“Executable?Directories”中列出。如果在MSVC下使用TAO_IDL編譯器就需要進(jìn)行此設(shè)置。

            3.加載tao\TAO.dsw,并編譯TAO庫(kù)。

            4.要編譯Cubit測(cè)試,加載performance-tests\Cubit\TAO\IDL_Cubit\IDL_Cubit.dsw,并編譯客戶(hù)和服務(wù)器。

            TAOACE.dsw

            TAOACE.dsw是一個(gè)Visual?C++?5.0/6.0工作空間文件,它加載的項(xiàng)目包括ACE、TAO、TAO_IDL(編譯器)、gperf、orb服務(wù)庫(kù),以及一些單獨(dú)的可執(zhí)行程序(比如Naming?Service,等等)。它可以用于編譯所有的用于編譯/運(yùn)行TAO應(yīng)用的文件。

            三、我選擇編譯的是dll版本(Release),并在A(yíng)CE的config.h文件中定義了“#define?ACE_HAS_STANDARD_CPP_LIBRARY?1”。編譯后我所得到的ace.dll的大小是1.13MB,相應(yīng)的ace.lib的大小是1.77MB;TAO.dll的大小是1.47MB,相應(yīng)的TAO.lib的大小是2.74MB。所有文件約有?MB,包括源程序、編譯生成的中間文件,等等,但有些例子及服務(wù)我沒(méi)有編譯。

            祝學(xué)有所成!

            馬維達(dá)
            posted on 2006-04-12 13:16 Stone Jiang 閱讀(1541) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): TAO
            久久综合给久久狠狠97色| 欧美亚洲国产精品久久| 久久婷婷五月综合成人D啪| 国产V综合V亚洲欧美久久| 亚洲午夜福利精品久久| 亚洲国产精品婷婷久久| 久久无码人妻一区二区三区午夜| 久久久久久久久久免免费精品| 青青草国产精品久久| 久久无码中文字幕东京热| 久久天天躁狠狠躁夜夜2020老熟妇 | 无码久久精品国产亚洲Av影片| 国产免费久久精品丫丫| 97久久精品人人做人人爽| 久久精品www人人爽人人| 亚洲AV无码久久| 亚洲精品无码久久久久去q| 亚洲AV无码1区2区久久| 亚洲国产一成人久久精品| 四虎国产精品成人免费久久| 欧美性猛交xxxx免费看久久久| 欧洲国产伦久久久久久久| 伊人 久久 精品| 久久婷婷激情综合色综合俺也去| 久久精品中文字幕无码绿巨人| 久久人人爽人人爽人人片av麻烦 | 久久综合亚洲色HEZYO国产 | 久久WWW免费人成—看片| 香蕉久久永久视频| 亚洲国产精品无码久久98| 夜夜亚洲天天久久| 免费精品国产日韩热久久| 亚洲精品无码久久久久久| 久久精品国产亚洲欧美| 久久久久久青草大香综合精品| 久久夜色撩人精品国产| 97精品伊人久久久大香线蕉| 国产亚洲综合久久系列| 91精品国产综合久久香蕉| 精品无码久久久久国产| 亚洲v国产v天堂a无码久久|