DEBUG_ONLY

更新 : 2007 年 11 月

デバッグ モード (_DEBUG シンボルが定義されたとき) では、DEBUG_ONLY は引数を評価します。

DEBUG_ONLY(expression )

解説

リリース ビルドでは、DEBUG_ONLY は引数を評価しません。このため、デバッグ ビルドだけで実行するコードがある場合に便利です。

DEBUG_ONLY マクロは #ifdef _DEBUG と #endif で囲まれた expression と同じです。

使用例

void ExampleFunc(char* p, int size, char fill)
{
   char* q;               // working copy of pointer 
   VERIFY(q = p);         // copy buffer pointer and validate
   ASSERT(size >= 100);   // make sure buffer is at least 100 bytes
   ASSERT(isalpha(fill)); // make sure fill character is alphabetic
   // if fill character is invalid, substitute 'X' so we can continue
   // debugging after the preceding ASSERT fails.
   DEBUG_ONLY(fill = (isalpha(fill)) ? fill : 'X');
}

必要条件

ヘッダー : afx.h

参照

概念

MFC マクロとグローバル

参照

ASSERT (MFC)

VERIFY