#include "ace/OS.h"
#include "ace/Log_Msg.h"
int main (int argc, char *argv[])
{
ACE_DEBUG((LM_DEBUG,"Hello, ACE! "));
ACE_OS::exit(1);
return 0;
}
这么就不写makefile了,直接用g++编译就是了。
编译
g++ hello.cpp -o hello -lACE
运行:
./hello
结果:
# ./hello
Hello, ACE!
检验 ACE
打开VS2005,建立一个空项目,将ACE程序员手册中的第一个程序拷入其中。
配置属性->链接器->常规->附加依赖项,添入ACEd.lib。
编译,如果不出意外的话就能看到你的ace版的" hello world"啦。
注意: ACE项目的字符集设置是"未设置",而VS2005的c++项目默认字符集是"使用 Unicode 字符集",如果用到了ACE链接库时需要将字符集改为"未设置"(在"项目属性->配置属性->项目默认值->字符集"中配置),否则可能出现链接错误。
至此,ACE的安装工作便算完成,希望这篇文章对大家安装ACE有点帮助。
支持unicode的ACE编译。
编译前在config.h中多添加如下两行,并且将项目默认字符集改为"使用 Unicode 字符集"。
#define ACE_USE_WCHAR #define ACE_HAS_WCHAR
注意:
在windows平台下,如果没有定义如上两个宏, ACE会自动将 main 函数重定义, 并主动替你把 ACE::init() 和 ACE::fini() 调用好。添加这两个宏后,需要在main函数中手动调用。
main 函数重定义这一行为不能保证在所有平台和环境下都正常运作(如使用MFC时),其实不管如何,不妨在 main 函数的开头和结尾分别再调用一次 ACE::init() 和 ACE::fini()。 ACE::init() 和 ACE::fini() 里面都有嵌套层次计数机制,因此只要它们能够保证成对出现, 并且不出现交叉嵌套, 多调用一遍并不会出现任何问题。
#include "ace/Log_Msg.h"
int main (int argc, char *argv[])
{
ACE_DEBUG((LM_DEBUG,"Hello, ACE! "));
ACE_OS::exit(1);
return 0;
}
这么就不写makefile了,直接用g++编译就是了。
编译
g++ hello.cpp -o hello -lACE
运行:
./hello
结果:
# ./hello
Hello, ACE!
检验 ACE
打开VS2005,建立一个空项目,将ACE程序员手册中的第一个程序拷入其中。
配置属性->链接器->常规->附加依赖项,添入ACEd.lib。
编译,如果不出意外的话就能看到你的ace版的" hello world"啦。
注意: ACE项目的字符集设置是"未设置",而VS2005的c++项目默认字符集是"使用 Unicode 字符集",如果用到了ACE链接库时需要将字符集改为"未设置"(在"项目属性->配置属性->项目默认值->字符集"中配置),否则可能出现链接错误。
至此,ACE的安装工作便算完成,希望这篇文章对大家安装ACE有点帮助。
支持unicode的ACE编译。
编译前在config.h中多添加如下两行,并且将项目默认字符集改为"使用 Unicode 字符集"。
#define ACE_USE_WCHAR #define ACE_HAS_WCHAR
注意:
在windows平台下,如果没有定义如上两个宏, ACE会自动将 main 函数重定义, 并主动替你把 ACE::init() 和 ACE::fini() 调用好。添加这两个宏后,需要在main函数中手动调用。
main 函数重定义这一行为不能保证在所有平台和环境下都正常运作(如使用MFC时),其实不管如何,不妨在 main 函数的开头和结尾分别再调用一次 ACE::init() 和 ACE::fini()。 ACE::init() 和 ACE::fini() 里面都有嵌套层次计数机制,因此只要它们能够保证成对出现, 并且不出现交叉嵌套, 多调用一遍并不会出现任何问题。