ace能在linux下使用嗎

2023-03-20 10:00:46

ace能在linux下使用,其使用方法是:1、下載ACE原始碼並解壓;2、將「ACE_wrappers」資料夾放到某個目錄下;3、更改「~/.bash_profile」檔案;4、在「$ACE_ROOT/ace」下建立一個「config.h」,並新增「#include "ace/config-linux.h"」程式碼;5、執行make命令即可。

本教學操作環境:linux5.9.8系統、Dell G3電腦。

ace能在linux下使用嗎?

可以。

在Linux上使用ACE

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

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

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

然後更改~/.bash_profile檔案,新增如下程式碼

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

#include <stdio.h> #include "ace/Log_Msg.h" #include "ace/OS_main.h" int ACE_TMAIN(int argc, ACE_TCHAR *argv[]){        ACE_DEBUG((LM_DEBUG, "Hello World/n"));        return 0;}
登入後複製

然後執行如下命令:

g++ -Wall -I $ACE_ROOT -L $ACE_ROOT/lib -l ACE -o hello hello.cpp
登入後複製

此時應該就生成了hello

./hello
Hello World
登入後複製

推薦學習:《》

以上就是ace能在linux下使用嗎的詳細內容,更多請關注TW511.COM其它相關文章!