ACE简介
ACE(ADAPTIVE 通信环境)是一种广泛使用的主机基础设施中间件。ACE库包含约240,000行c++代码,约500个类。ACE软件包的基础是ACE OS Adaptation层和C++ wrapper facades 的结合,封装了核心OS并发网络编程机制。ACE的较高层建立在这一基础上,提供了可复用的框架、网络服务组件、基于标准的中间件等。这些中间件层联合起来,简化了网络应用程序的创建、组成、配置和移植。
下载
作为开源的C/C++网络库,ACE源码可以从http://download.dre.vanderbilt.edu/下载,如本次下载文件名为 ACE-6.3.3.tar.gz 的包
编译安装
安装环境Ubuntu14.10
解压
tar -zxvf ACE-6.3.3.tar.gz
设置环境变量
ACE_ROOT=/home/XXX/ACE_wrappers; export ACE_ROOT
创建文件config.h
在/home/XXX/ACE_wrappers路径下,创建文件config.h,并写入内容
#include "ace/config-linux.h"
创建文件 platform_macros.GNU
在#ACE_ROOT/include/makeinclude/路径下创建文件 platform_macros.GNU,写入内容:
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX = /home/XXX/AceInstallDir/
设置环境变量
LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
编译
在/home/XXX/ACE_wrappers路径下,执行 make
注:编译时间有点久
安装
make install
测试
创建helloworld.cpp,写入内容:
#include "ace/Log_Msg.h"
int main(int argc, char* argv[])
{
ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello World!\n")));
return 0;
}
编译运行
sudo g++ -g -o helloword helloworld.cpp –lACE
./helloworld
其他
在Ubuntu下,也可以直接使用apt-get安装
sudo apt-get install libace-dev
此时,ACE文件位于/usr/include下,libACE.so位于/usr/lib下,我用该方法安装libace-dev版本为6.0.3
同样可以测试是否安装成功
#include "ace/ACE.h"
#include "ace/OS_NS_stdio.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
char msg[100] = {0};
ACE_OS::sprintf(msg, "hello %s", "world!");
cout << msg << endl;
return 0;
}
用这种方法安装简单直接。但是通过下载源码编译安装的话,能够选择安装版本,并且源码文档中还包含了example目录,其中的例子具有宝贵的参考价值。