在Linux上使用ACE

來源:互聯網
上載者:User

ACE自適配通訊環境(ADAPTIVE Communication Environment)是可自由使用、開放源碼的物件導向(OO)架構(framework),它實現了許多用於並發通訊軟體的核心模式。ACE提供了一組豐富的可重用C++封裝外觀(wrapper facade)和架構組件,可跨多種平台,如Windows、Linux、WinCE、VxWorks等系統。它不僅實現了網路通訊,還有線程、進程、記憶體操作等,所以現在ACE的應用還是比較廣泛的。

它的源碼可以在www.riverace.com下載

下載後解壓出來一個ACE_wrappers檔案夾,將其放到某個目錄下面

 

然後更改~/.bash_profile檔案,添加如下代碼

  1. #這個目錄在編譯的時候會用到,因為所有的標頭檔都在/ACE_wrappers/ace/檔案夾下面
  2. #而且它的標頭檔包含形式都是<ace/Log_Msg.h>形式的
  3. ACE_ROOT=$HOME/ace/ACE_wrappers
  4. #這個是為了在程式啟動並執行時候用的,因為安裝好之後,它的動態庫,libACE.so等都放到這個目錄裡面了
  5. #如果這個不設定,程式找libACE.so找不到的話,就沒法正常運行
  6. LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
  7. #匯出這兩個環境變數
  8. export ACE_ROOT
  9. export LD_LIBRARY_PATH

然後想辦法讓你的環境變數生效,因為我用的SecureCRT遠程登入的linux,所以斷開之後再串連,就生效了

 

然後再$ACE_ROOT/ace下面建立一個config.h

然後在裡面添加上如下代碼:

#include "ace/config-linux.h"

然後儲存就行了

(ace的好多標頭檔都要使用config.h,而且它跨平台,就是要靠這個檔案來區分的,在Windows下面,這個檔案的內容好像就好像改為了: #include "ace/config-win32.h")

 

然後在如下目錄:

$ACE_ROOT/include/makeinclude/

建立:

platform_macros.GNU

內容:

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

 

然後直接執行make命令,如果能成功執行完,就說明已經安裝好了

但我在make的時候就出現了兩個問題,開始提示某個sh指令碼的執行許可權不夠,我就手動加上執行許可權:

chmod +x file

後來又提示在指令碼中存在一些其它的錯誤,這時候用vi開啟這些指令碼,然後執行:

set ff?    (這個命令查看當前文本的格式,ff,即file format)

如果出現:

fileformat=dos

則再執行如下的命令:

set ff=unix

然後儲存

這樣應該就能執行成功了

 

安裝好之後就可以拿一個簡單樣本來進行測試了

下面是簡單的hello world樣本

  1. #include <stdio.h>
  2. #include "ace/Log_Msg.h"
  3. #include "ace/OS_main.h"
  4. int ACE_TMAIN(int argc, ACE_TCHAR *argv[])
  5. {
  6.         ACE_DEBUG((LM_DEBUG, "Hello World/n"));
  7.         return 0;
  8. }

 

然後執行如下命令:

g++ -Wall -I $ACE_ROOT -L $ACE_ROOT/lib -l ACE -o hello hello.cpp

 

此時應該就產生了hello

./hello

Hello World

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.