C++Builder でデバッグ/リリースモード時のみコンパイルする
2013-11-26
例えば、デバッグモードの時だけ特定のログを出力したい時、例えば、デバッグモード時はアプリケーション終了確認ダイアログは、うざったいから表示させたくない時、マクロ定義"_DEBUG"の判定でその夢を叶えることができます。
#ifdef _DEBUG
ShowMessage("このコードはデバッグモード時のみコンパイルされます。");
#endif
#ifndef _DEBUG
ShowMessage("このコードはリリースモード時のみコンパイルされます。");
#endif
先ほどの、「デバッグモード時はアプリケーション終了確認ダイアログは、うざったいから表示させたくない時」は、こう書けば良いのです。意外と便利です。
//------------------------------------------------------------------------------
// フォームクローズ問い合わせイベント
//------------------------------------------------------------------------------
void __fastcall TForm_Main::FormCloseQuery(TObject *Sender, bool &CanClose) {
#ifndef _DEBUG
int userAnswer = MessageBox(
Form_Main->Handle,
L"アプリケーションを終了してもよろしいですか?\n",
L"確認",
(MB_YESNO | MB_DEFBUTTON2 | MB_ICONINFORMATION));
if (userAnswer == mrNo) {
CanClose = false;
}
#endif
}