C プログラミングでは、プリプロセッサ定義は、特定の条件に基づいてコードを条件付きで含めたり除外したりするために使用されます。コードのセクションのデバッグに関しては、2 つの一般的なプリプロセッサ定義は _DEBUG と NDEBUG です。
_DEBUG:
_DEBUG は、Microsoft Visual Studio に固有のプリプロセッサ定義です。これは、/MTd または /MDd コンパイル オプションを使用するときに設定されます。 _DEBUG を定義すると、追加のランタイム アサーションやメモリ デバッグ機能などのデバッグ固有の機能が有効になります。
NDEBUG:
NDEBUG は、次のことを定義する標準 C プリプロセッサです。標準 C アサーションを無効にします。アサーションは、実行時のエラーをテストするために使用されます。 NDEBUG が定義されている場合、これらのアサーションが抑制され、パフォーマンスが向上する可能性があります。
使用上の推奨事項:
カスタム デバッグ マクロ:
独自のカスタム デバッグを定義したい場合マクロでは、アンダースコアで始まる名前の使用は避けてください。通常、これらはコンパイラまたはコンパイラによって予約されているためです。 runtime.
使用例:
#ifdef _DEBUG // Debugging code, specific to MS CRT #else // Release code, without assertions #endif
過剰な条件付きコンパイルはコードの可読性と保守性に影響を与える可能性があるため、これらのプリプロセッサ定義は慎重に使用してください。
以上が_DEBUG と NDEBUG: どのデバッグ プリプロセッサ定義をいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。