私のプログラムには次のようなデバッグ出力があります:
#define DEBUG
...
#ifdef DEBUG
std::cout << "[RE_words] " << m_re << std::endl;
#endif
DEBUG
は私のプログラムで手動で定義されています。リリースバージョンを作成するときは、常にその行をコメントアウトします。 Visual Studioには、コンパイルに使用されるコマンドラインなどを処理するDebug vs Releaseバージョンの構成もあります。構成「デバッグ」を使用して、DEBUG
をコンパイラに自動的に定義することもできますか?どうやって?
使用する _DEBUG
。 Visual C++は、これをデバッグ構成用に定義します。プロジェクトのプロパティダイアログでデバッグ構成のプリプロセッサディレクティブを確認します。
私もプリプロセッサプロパティを見て、_DEBUGを削除するだけでよいと考えました。 Visual Studioは、デバッグランタイムライブラリオプションのいずれかを選択した場合、_DEBUGを設定することで支援しようとします。
プロジェクトプロパティページConfiguration Properties\C/C++\Code Generationで選択されたオプションRuntime Libraryは、いくつかの定義に影響します。デバッグライブラリを選択する場合(/ MTdまたは/ MDd)_ DEBUGdefineisセットする。
スイッチの詳細については、 MSDN/MD、/ MT ... を参照してください。これらのオプションに基づいて設定される#definesがいくつかあります。ヘッダーファイルをインクルードする前に、誰が#defineを設定するかを見つけようとすると、それらはほとんど見えません!!
はい、プロジェクトオプションページのコンパイル->高度なコンパイルオプションを確認する必要があります。ただし、VSはデフォルトでデバッグモードのDEBUGディレクティブを自動的に定義します。