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>形式的?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</ace>
然后想辦法讓你的環境變量生效,因為我用的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;}</stdio.h>
?
然后執行如下命令:
g++?-Wall?-I?$ACE_ROOT?-L?$ACE_ROOT/lib?-l?ACE?-o?hello?hello.cpp
?
此時應該就生成了hello
./hello Hello?World
推薦學習:《linux視頻教程》