_DEBUG と NDEBUG を使用したデバッグ
デバッグが必要なコードを作成するときは、使用する適切なプリプロセッサ定義を考慮する必要があります。一般に、開発者は #ifdef _DEBUG と #ifndef NDEBUG を使用するか、#define MY_DEBUG のようなカスタム マクロを定義するかの間でジレンマを抱えています。
_DEBUG と NDEBUG: 比較
_DEBUG と NDEBUG は異なる目的を果たします。 Visual Studio に固有の _DEBUG は、/MTd または /MDd コンパイラ オプションでアクティブ化されます。一方、NDEBUG は、C 標準で定義されたアサーションを無効にします。これらの定義を適切に使用することが重要です。たとえば、_DEBUG は、デバッグ コードを Microsoft C ランタイム ライブラリで採用されている技術に合わせます。同様に、NDEBUG は、assert() 関数の動作と一致しています。
代替アプローチ
カスタム デバッグ マクロを定義したい場合は、使用しないことをお勧めします。アンダースコアで始まる名前。この命名規則は、コンパイラとランタイム環境によって予約されています。
以上が_DEBUG と NDEBUG: デバッグにはどちらのプリプロセッサ定義を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。