ACE之旅——环境搭建、HelloWorld
ACE之旅——环境搭建、HelloWorld
关于ACE的好处和牛x之处在此就不说了,新工作中大量使用到了ACE,之前没有怎么研究过,经过几周的研究,大概摸清了点脉络,故开始在此写下第一篇,也是我的笔记吧。
1、构建开发环境
我的开发环境是:Slackware 13.37 x86 Linux系统,使用ACE 5.7。编译方法如下:
$ mkdir ~/usr/ace57
$ tar -xvf ACE-5.7.0.tar.gz
$ cd ACE_wrappers
$ mkdir build
$ cd build
$ ../configure –prefix=$HOME/usr/ace57
$ make
$ make install
将ACE的库和头文件装在$HOME/usr/ace57下,由于不是Unix/Linux标准的库搜索路径,我也不想改ld.so.conf,为了编译和运行在.bash_profile中添加了如下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/usr/ace57/lib
export ACE_ROOT=$HOME/usr/ace57
LD_LIBRARY_PATH是为了运行时搜索动态库用的,ACE_ROOT则是我自己定的在makefile中引用ACE的安装位置。
2、HelloWorld
HelloWorld很简单,虽然大家都对它很不屑,但是一个简单的HelloWorld足以判断我们的环境是否正确,就像做过LFS的朋友可能中途会写好几次HelloWorld验证工具链是否正确、装完JDK有时也会顺手写个HelloWorld验证JDK是否配置正确……
代码如下:
#include "ace/Log_Msg.h"
int ACE_TMAIN(int, ACE_TCHAR *[]) {
ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello, ACE !\n")));
return 0;
}
makefile如下:(虽说这完全没必要搞makefile,但是我想把我的ACE学习过程整理成一个个的简单的小实例、小demo,也就对此也就一并写了makefile,btw:牢骚下,cnblogs插入代码为什么没有makefile的?shell的?)
first_deps = first.cpp
CC = g++
INCL = $(ACE_ROOT)/include
LIBS = $(ACE_ROOT)/lib
.SUFFIXES: .cpp.o
.cpp.o:
$(CC) -g -I$(INCL) -c $*.cpp
first: $(first_deps)
$(CC) -I$(INCL) -L$(LIBS) -o first $(first_deps) -lACE
clean:
-rm *~
-rm first
编译,执行:
$ make
$ ./first
Hello, ACE !
(转载时请注明作者和出处。未经许可,请勿用于商业用途)
更多文章请访问我的Blog: http://www.cnblogs.com/logicbaby