(转载)我的第一个ACE测试例子(Linux和Windows)

来源:互联网 发布:威斯布鲁克身体数据 编辑:程序博客网 时间:2024/05/17 02:28
 
下面的一个测试例子在LinuxWindows下均通过,代码无需改动,只需重新编译就可达到跨平台执行。从一个侧面反应了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"
 
intmain(intargc,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_Valuetime=ACE_OS::gettimeofday();
   ACE_Time_Valuetimer1=time+ACE_Time_Value(ACE_OS::atoi(argv[1]));
   ACE_Time_Valuetimer2=time+ACE_Time_Value(ACE_OS::atoi(argv[2]));
 
   if(timer1>timer2)
      ACE_DEBUG((LM_DEBUG,"timer 1 is greater/n"));
   elseif(timer2>timer1)
      ACE_DEBUG((LM_DEBUG,"timer 2 is greater/n"));
   else
      ACE_DEBUG((LM_DEBUG,"timers are equal/n"));
 
   ACE_OS::exit(1);
   return0;
}
 
编译:
$ 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库均在系统下编译成功。