• <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++博客 首頁 新隨筆 聯系 聚合 管理
              64 Posts :: 3 Stories :: 22 Comments :: 0 Trackbacks
            一、安裝TAO,需要先編譯并安裝ACE。

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

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

            ACE的編譯與安裝

            一般規則

            ACE中的許多特性可以通過在$ACE_ROOT/ace/config.h中定義一些宏來進行修改。這些宏應該總是在包括針對你的平臺的配置文件之前出現。

            但是,如果你想要取消/重定義在針對特定平臺的配置文件中定義的宏,#undef應該在配置文件之后出現。

            如果你計劃在多種平臺上編譯ACE,你也許需要考慮克隆源碼樹。

            步驟:

            1.?將ACE發布文件解壓縮到某個目錄中,在其中將會創建含有所有文件的ACE_wrappers目錄。在下面的步驟中,ACE_wrappers目錄將以ACE_ROOT為名來指稱。

            2.?在ACE_ROOT\ace目錄中創建一個名為config.h的文件,在其中包含:

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

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

            4.?其中的每個項目都含有若干不同的配置(可混合Debug/Release、MFC/Non-MFC、Static/Dynamic?library版本)。你可以從中選擇你所需的配置,或是使用ace/config.h來進行調整。
            注意:如果你使用動態鏈接庫,在運行使用ACE的程序時,確定你在PATH中包括了ACE_ROOT\bin。

            5.?如果你的系統平臺是WinNT或2000,那么無需任何改動你就可以開始編譯了。如果是Windows?9x/Me,你需要在ACE_ROOT\ace\config.h中的#include語句之前增加:

            #define?ACE_HAS_WINNT4?0

            6.?如果你想要使用MSVC標準C++頭(iostream、cstdio……),在ACE_ROOT\ace\config.h中的#include語句之前增加:

            #define?ACE_HAS_STANDARD_CPP_LIBRARY?1

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

            #define?ACE_HAS_MFC?1

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

            8.?ACE的靜態版本是通過定義ACE_AS_STATIC_LIBS來編譯的。在鏈接靜態ACE庫的應用項目中也應該使用這個宏。
            你也可以在config.h文件中增加

            #define?ACE_NO_INLINE

            來取消函數內聯并減小靜態庫(和你的可執行程序)的大小。

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

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

            10.?配置完畢后編譯即可。選擇dll版本,編譯生成的dll文件在ACE_ROOT\bin中,相應的lib文件在ACE_ROOT\ace中。

            ACE測試

            各測試程序在ACE_ROOT\tests中。在其中也有一個工作空間文件可用來編譯所有的測試程序(tests.dsw)。
            一旦你編譯了所有測試程序(可使用批編譯),你可以運行tests目錄中的perl腳本run_test.pl或批處理文件run_tests.bat來進行所有測試。

            TAO的編譯與安裝

            確定VC的CL.EXE在你的訪問路徑上。設置ACE_ROOT或TAO_ROOT環境變量。例如:

            set?ACE_ROOT=C:\ACE_wrappers

            TAO最好放置在ACE_wrappers(這也是缺省情況)。

            1.確定ACE已經編譯和安裝。

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

            3.加載tao\TAO.dsw,并編譯TAO庫。

            4.要編譯Cubit測試,加載performance-tests\Cubit\TAO\IDL_Cubit\IDL_Cubit.dsw,并編譯客戶和服務器。

            TAOACE.dsw

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

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

            祝學有所成!

            馬維達
            posted on 2006-04-12 13:16 Stone Jiang 閱讀(1564) 評論(0)  編輯 收藏 引用 所屬分類: TAO
            久久精品国产一区二区三区日韩| 欧美精品福利视频一区二区三区久久久精品 | 无码乱码观看精品久久| 久久久无码精品亚洲日韩蜜臀浪潮| 久久亚洲国产成人影院| 久久久久久国产精品无码超碰| 色综合久久88色综合天天| 热综合一本伊人久久精品| 久久狠狠高潮亚洲精品| 久久99热这里只有精品国产| 日韩精品久久无码人妻中文字幕| 91久久精品视频| 日本久久久久亚洲中字幕| 久久99亚洲综合精品首页| 久久久一本精品99久久精品66 | 中文字幕热久久久久久久| 国内精品久久久久国产盗摄| 久久精品99久久香蕉国产色戒 | 久久久久久国产a免费观看不卡 | 青青青青久久精品国产| 色诱久久久久综合网ywww | 亚洲精品乱码久久久久久蜜桃| 久久国产精品99精品国产987| 久久99精品久久久大学生| 久久久噜噜噜久久| 91精品日韩人妻无码久久不卡| 国内精品综合久久久40p| 天天综合久久一二三区| 久久性生大片免费观看性| 久久久久亚洲AV成人网| 91精品婷婷国产综合久久| 免费精品99久久国产综合精品| 精品少妇人妻av无码久久| 色狠狠久久AV五月综合| 日韩人妻无码精品久久久不卡| 亚洲综合久久夜AV | 久久久综合香蕉尹人综合网| 久久露脸国产精品| 亚洲人成无码久久电影网站| 一本色道久久88综合日韩精品 | 无码人妻久久一区二区三区免费|