1

このコードの実行に問題がありました:

#if TRACE
            dbgLog = new LogInfo( "PlatypusCE" );
#endif   

これは、上で「TRACE」がコメントアウトされていても、一般的なコメントの大きなブロックの直後に発生していました。

//#define TRACE

これを下に追加したら:

#undef TRACE

...つまり、次のようになります。

//#define TRACE
#undef TRACE

...ただし、希望どおりに機能します (「#if TRACE」コードは実行されません)。

定義されていないもの (コメントアウトされているもの) を未定義にする必要は本当にあるのでしょうか? 奇妙に思える。

4

2 に答える 2

3

デフォルトでは、プロファイル Debug および Release で、Visual Studio がTRACE定数を定義します。この動作は、プロジェクト設定 (Buildタブ内) で変更できます。定数は似ており、DEBUGDebug プロファイルではデフォルトで有効になっています (ただし、Release ではありません)。

于 2014-08-25T22:16:04.783 に答える
2

TRACEデバッグ ビルド用にデフォルトで定義されている 2 つの定数のうちの 1 つです。

痕跡

于 2014-08-25T22:16:56.140 に答える