あるソースに、

#ifdef _DEBUG
  #define HOGE  hoge
#else
  #define HOGE  NULL
#endif
  ・・・
HOGE();

というような関数呼び出しの記述があって、
_DEBUGマクロが定義されていないときは
NULL()ということになってしまいます。
自分の環境(WinXP + Visual C++ 6.0)で試したところ、
コンパイルしてもNULL()の部分はオブジェクトファイルには
含まれていないようなので問題ないのですが、
これは環境依存でしょうか?それともC言語、C++ともに
仕様で認められている記述なのでしょうか?