第一个ACE测试例子
下面的一个测试例子在Linux和Windows下均通过,代码无需改动,只需重新编译就可达到跨平台执行。从一个侧面反应了ACE在可移植性上的魅力。
ACE 版本:5.6
编译环境 : Linux version 2.6.18-4-686 (Debian 2.6.18.dfsg.1-12)
gcc version 4.1.2 20061115
//源码 :welcome.cpp
#include "ace/OS.h"
#include "ace/Log_Msg.h"
int main ( int argc , char * argv [])
{
ACE_DEBUG (( LM_DEBUG , " (%P|%t) == Hello,This is a program about ACE_Timer_Value!/n" ));
if ( argc != 3 )
{
ACE_ERROR_RETURN (( LM_ERROR , "usage: %d" "time1 time2/n" ), 1 );
}
ACE_Time_Value time = ACE_OS :: gettimeofday ();
ACE_Time_Value timer1 = time + ACE_Time_Value ( ACE_OS :: atoi ( argv [ 1 ]));
ACE_Time_Value timer2 = time + ACE_Time_Value ( ACE_OS :: atoi ( argv [ 2 ]));
if ( timer1 > timer2 )
ACE_DEBUG (( LM_DEBUG , "timer 1 is greater/n" ));
else if ( timer2 > timer1 )
ACE_DEBUG (( LM_DEBUG , "timer 2 is greater/n" ));
else
ACE_DEBUG (( LM_DEBUG , "timers are equal/n" ));
ACE_OS :: exit ( 1 );
return 0 ;
}
编译:
$ g++ -o wel -lACE welcome.cpp
执行:
$ ./wel 20 10
结果:
(6232|3081746112)==Hello,This is a program about ACE_Timer_Value!
timer 1 is greater
测试环境:
$ cat /proc/version
Linux version 2.6.18-4-686 (Debian 2.6.18.dfsg.1-12) (waldi@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Mon Mar 26 17:17:36 UTC 2007
在Windows下也同样可以通过编译。
测试环境:Windows xp | vs2005
Windows下需要注意的一点是:
在项目的设置上:解决方案资源管理器->具体方案右键->属性->配置属性->链接器->输入->附加依赖项,添入ACEd.lib。
上面两个测试的前提是,ACE库均在系统下编译成功。