我正在关注ACE Programmer's Guide, The: Practical Design Patterns for Network and Systems Programming作者 Stephen D. Huston, James CE Johnson, Umar Syyid。在本书一开始就有一个清单:
#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 Mom\n")));
foo();
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
return 0;
}
void foo (void)
{
ACE_TRACE (ACE_TEXT ("foo"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
}
正如书中所说,这段代码应该有输出:
(1024) calling main in file `Simple1.cpp' on line 7
Hi Mom
(1024) calling foo in file `Simple1.cpp' on line 18
Howdy Pardner
(1024) leaving foo
Goodnight
(1024) leaving main
但它正在输出:
Hi Mom
Howdy Pardner
Goodnight
我在 Windows 7、Visual C++ 2010 中将它作为 Win32 控制台应用程序运行。有没有其他方法可以轻松学习 ACE?以这种方式学习似乎很乏味。Qt 有自己的跨平台网络库。ACE 比 Qt 的库有什么优势吗?