首頁  >  文章  >  運維  >  ace能在linux下使用嗎

ace能在linux下使用嗎

藏色散人
藏色散人原創
2023-03-20 09:36:531478瀏覽

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

ace能在linux下使用嗎

本教學操作環境: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

推薦學習:《linux影片教學

以上是ace能在linux下使用嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn