0

私は本ACEプログラマーズガイド、The:Practical Design Patterns for Network and Systems Programming By Stephen D. Huston、James CE Johnson、UmarSyyidをフォローしています。この本の冒頭にリストがあります:

#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

Win32コンソールアプリケーションとして、Windows 7、Visual C++2010で実行しています。ACEを簡単に学ぶ方法は他にありますか?このように学ぶのは退屈なようです。Qtには、独自のクロスプラットフォームネットワークライブラリがあります。ACEはQtのライブラリよりも優れていますか?

4

1 に答える 1

4

これは、 を定義していないためACE_NTRACEであり、ACE_TRACEデフォルトでは何も展開されません。これをコードに追加します。

#define ACE_NTRACE 0
于 2012-07-14T12:19:11.823 に答える