由于后续的项目打算使用ACE框架,所以现在要开始了解ACE了。
本文将简单介绍ACE在linux下环境的搭建,以及一个基于ACE的hello world小程序的编写。
1. 获取ACE源码
http://www.riverace.com/downloads.htm 中可以下载最新的ACE的release版本。
本文使用的是6.0版本 。
下载下的是tar.gz包, 解压到一个空目录中。
解压后会看到目录ACE_wrappers
2. 设置环境变量
在一个shell中执行如下命令
shell> cd
shell> vi .bashrc
添加 如下两行:
export ACE_ROOT=/home/gaoxiaoxin/ace-repo/ACE_wrappers
export LD_LIBRARY_PATH=/home/gaoxiaoxin/ace-repo/ACE_wrappers/lib
3. 设置如何编译
创建文件 $ACE_ROOT/ace/config.h, 在其中写入: #include "ace/config-linux.h"
创建文件 $ACE_ROOT/include/makeinclude/platform_macros.GNU, 在其中写入:
static_libs=1
(这个可以没有, 如果只需要动态库的话,本文只用了动态库)
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
4. 编译
编译之前需要确认已经安装了g++,gcc,cmake.
shell>cd $ACE_ROOT/ace
shell>make
注: 也可以在$ACE_ROOT目录下执行make,但那会很久很久,而且暂时不需要那些,所以我们可以只编译ACE的库。编译之后会在$ACE_ROOT/lib下生成对应ACE库的软链接。我们可以把这些软连接拷贝到/usr/lib下
5. 编写hello word程序
随便到另外一个目录下创建文件demo.c
#include"ace/Log_Msg.h"
int ACE_TMAIN(int argc,ACE_TCHAR *argv[])
{
ACE_TRACE("main");
ACE_DEBUG((LM_INFO,ACE_TEXT("Hello,world!\n")));
}
然后执行命令 g++ demo.c -o demo -lACE -I/home/gaoxiaoxin/ace-repo/ACE_wrappers
然后执行demo程序
shell>./demo
Hello,world!
6. 关于ACE的测试用例
在$ACE_ROOT/tests下有所有的测试用例,可以通过make命令编译他们,并通过./run_test.pl来执行全部的用例。
关于往ACE中添加测试用例,可以参考官网的说明(http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/tests/README) :
转载请注明转自高孝鑫的博客
本文将简单介绍ACE在linux下环境的搭建,以及一个基于ACE的hello world小程序的编写。
1. 获取ACE源码
http://www.riverace.com/downloads.htm
本文使用的是6.0版本 。
下载下的是tar.gz包, 解压到一个空目录中。
解压后会看到目录ACE_wrappers
2. 设置环境变量
在一个shell中执行如下命令
shell> cd
shell> vi .bashrc
添加 如下两行:
export ACE_ROOT=/home/gaoxiaoxin/ace-repo/ACE_wrappers
export LD_LIBRARY_PATH=/home/gaoxiaoxin/ace-repo/ACE_wrappers/lib
3. 设置如何编译
创建文件 $ACE_ROOT/ace/config.h, 在其中写入: #include "ace/config-linux.h"
创建文件 $ACE_ROOT/include/makeinclude/platform_macros.GNU, 在其中写入:
4. 编译
编译之前需要确认已经安装了g++,gcc,cmake.
shell>cd $ACE_ROOT/ace
shell>make
注: 也可以在$ACE_ROOT目录下执行make,但那会很久很久,而且暂时不需要那些,所以我们可以只编译ACE的库。编译之后会在$ACE_ROOT/lib下生成对应ACE库的软链接。我们可以把这些软连接拷贝到/usr/lib下
5. 编写hello word程序
随便到另外一个目录下创建文件demo.c
#include"ace/Log_Msg.h"
int ACE_TMAIN(int argc,ACE_TCHAR *argv[])
{
ACE_TRACE("main");
ACE_DEBUG((LM_INFO,ACE_TEXT("Hello,world!\n")));
}
然后执行命令 g++ demo.c -o demo -lACE
然后执行demo程序
shell>./demo
Hello,world!
6. 关于ACE的测试用例
在$ACE_ROOT/tests下有所有的测试用例,可以通过make命令编译他们,并通过./run_test.pl来执行全部的用例。
关于往ACE中添加测试用例,可以参考官网的说明(http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/tests/README) :
Please follow these directions when adding a new test to $ACE_ROOT/tests: 1. Use appropriate ACE_START_TEST and ACE_END_TEST macros in main () 2. Add new project entry to the tests.mpc file. 3. Add test to run_test.lst.
转载请注明转自高孝鑫的博客