我用的是APG自带的例子。无论在Windows和Linux操作系统下面都无法输出ACE_TRACE的信息?
源码:
----------------------------------------------------------
#include "ace/Log_Msg.h"
void foo (void);
int ACE_TMAIN (int, ACE_TCHAR *[])
{
ACE_TRACE(ACE_TEXT ("main"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Momn")));
foo();
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnightn")));
return 0;
}
void foo (void)
{
ACE_TRACE (ACE_TEXT ("foo"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardnern")));
}
输出:
---------------------------------------------------------
[root@myserver projs]# ./tmp
Hi Mom
Howdy Pardner
Goodnight
需要设置宏ACE_NTRACE,默认状态是不记录TRACE信息的。
#define ACE_NTRACE 0 记录日志
#define ACE_NTRACE 1 不记录日志
可以使用一下两种方法解决问题:
1、修改文件代码
#define ACE_NTRACE 0
#include "ace/Log_Msg.h"
error:
记住不要把上面的顺序给写反呢
写成了:
#include "ace/Log_Msg.h"
#define ACE_NTRACE 0
2、在编译命令上增加定义宏的命令
可以增加如下选项 -DACE_NTRACE
本文详细介绍了在使用ACE库时遇到的ACE_TRACE信息无法显示的问题,包括修改代码和编译命令的方法来解决该问题,并解释了如何通过定义宏ACE_NTRACE来启用TRACE信息的记录。
2万+

被折叠的 条评论
为什么被折叠?



