ACE历时20年,耗费数千万美金,在中间件领域享有盛誉。更可贵的是,ACE彻底的开源,且没有任何限制条件,完全是共产主义的精神,让人钦佩。
ACE的Wrapper Facade模式解决了夸平台的c++编程问题。虽然我们现在有标准C++,但是目前的C++标准库对于多线程、网络通信、并发处理、进程管理以及小内存分配、共享内存、内存映射文件等诸多实际运用中的问题没有支持。相信随着时间的推移,C++标准库会越来越多的关心我们程序员实际编程中的问题,但是现在,我需要ACE.
ACE的文档在http://www.dre.vanderbilt.edu/Doxygen/Stable/ace/index.html
,你可以从www.riverace.com下载最新的ACE安装包。
UBuntu8.04下安装ACE开发环境
首先要确保UBuntu已经安装了g++和openssl。
apt-get install g++来安装g++
通过新立得软件查找libssl来安装。我安装的是libssl0.9.8,libssl0.9.8-dbg,libssl-dev。
然后将ACE压缩包解压,并放到自己的目录(我的目录为/home/freebird/software)下,仔细阅读install.html中关于 unix的部分,按照上面的做,我没有使用传统方式。如果执行configure命令或者make命令时报错,通常是缺少相应的库。安装指定的库以后,一定要重新执行../configure命令。
目录/home/freebird/software/ACE_wrappers/build/ace/.libs下的libACE-5.6.so文件就是我们的动态库文件。
注意,执行make install的时候,要用sudo命令
如果不使用最新版本,也可以用下面的命令在Ubuntu中直接安装,或者用新立德搜索libace。
sudo apt-get install libace-dev libace-doc libace5.4.7c2a libssl-dev
使用ACE编写第一个程序
代码编写需要了解ACE的一些基本知识,所有的ace头文件都在ace目录下,我的机器上ace目录安装在/software/ACE_wrappers。
为了确保动态连接库运行时加载正确,需要如下设置:
UBuntu8.04的配置方法--在动态库的配置文件子目录(/etc/ld.so.conf.d)里增加一个文件ace.conf
内容为:/home/freebird/software/ACE_wrappers/build/ace/.libs 这是动态链接库的目录路径,
然后执行ldconfig命令修改全局缓冲文件
如果别的linux系统没有/etc/ld.so.conf.d目录,就需要直接将/software/ACE_wrappers/ace加到/etc/ld.so.conf文件中,然后执行ldconfig命令
下面编写测试代码,如果编译通过,那么环境配置正确:
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"
#include "ace/INET_Addr.h"
#include "ace/SOCK_Connector.h"
#include "ace/SOCK_Stream.h"
int ACE_TMAIN(int argc, ACE_TCHAR* argv[])
{
ACE_DEBUG((LM_DEBUG,ACE_TEXT("freebird./n")));
ACE_SOCK_Connector connector;
ACE_SOCK_Stream peer;
ACE_INET_Addr peer_addr;
if(peer_addr.set(80,"192.168.22.26")==-1)
return 1;
else if(connector.connect(peer,peer_addr)==-1)
return 1;
}
编译的命令并不复杂,主要是编译参数要注意:
g++ -I$ACE_ROOT -L$ACE_ROOT/ace test.cc -lACE
-l后面指定头文件目录/home/freebird/software/ACE_wrappers
-L后面指定ACE库文件路径/software/ACE_wrappers/ace
-l后面指定库文件名称ACE
编写一个makefile也很简单,内容如下:
#define some variables
Shell=/bin/sh
CPlus=g++
CPlusInclude=-I$(ACE_ROOT)
CPlusExtraInclude=-L$ACE_ROOT/ace
Libs=-lACE
CPlusFlags=-Wall -c -g
test.out:
$(CPlus) -o test.out $(CPlusInclude) $(CPlusExtraInclude) test.cc $(Libs)
#make clean will execute this
clean:
rm -f *.o *.out
#make will ignore the file which has one of the below names
.PHONY:
clean test.out
注意:
1)编译命令一定要用tab符号开头
2).PHONY规定的clean 和 test.out,确保不会因为存在这个文件,命令不能执行
分享到:
相关推荐
ubuntu8.04默认的源ubuntu8.04默认的源ubuntu8.04默认的源ubuntu8.04默认的源ubuntu8.04默认的源ubuntu8.04默认的源ubuntu8.04默认的源ubuntu8.04默认的源
ubuntu8.04中配置java+tomcat+eclipseMyEclipse开发环境(更新)
ubuntu 8.04 安装g++ ,在ubuntu 8.04 配置okl4时有用
ubuntu8.04速成手册1.0.rar ubuntu8.04 ubuntu8安装与配置 ubuntu8.0.4实用手册
ubuntu8.04使用手册,ubuntu8.04使用手册ubuntu8.04使用手册,ubuntu8.04使用手册,ubuntu8.04使用手册,
ubuntu8.04优化指南 ubuntu8.04优化指南
Ubuntu8.04安装基础入门教程没叫你如何搞定安装Ubuntu8.04!
ubuntu8.04 qt-eclipse编程环境搭建
一.系统初始化 二.输入法 三.系统美化 四.影视工具 五.文件浏览 六.系统管理 七.其他软件 八.虚拟 九.编程环境 十.KDE 十一.Ubuntu 出现的一些问题 十二.Ubuntu 使用技巧
ubuntu8.04速成手册。这个资源对与想学ubuntu的新手来说。绝对值得看
用 Wubi 安装 Ubuntu 8.04 只需五步
ubuntu 8.04使用手册
描述在ubuntu 8.04上安装samba的步骤及其设置方法
ubuntu8.04下编译运行qtopia4.3.2
ubuntu8.04速成手册1.0(入门)
Ubuntu 8.04下编译Android源码全过程
Ubuntu 8.04 Server版安装图解 很完整
该文章比较详细地讲述了如何在ubuntu8.04中安装中文输入法,特别对于初学ubuntu的来说,无疑是个好的参考资料。
Linux-----UBUNTU8.04离线升级包.ISO