背景
C++でコードを書くとき、
debugモードとreleaseモードをcoolに使い分けたかった。
ロボットを動かすときなどは、使い分けると楽。
どうやら、c++の条件付きプリプロセッサがヒントらしい。
Visual Studio 2019などはプロジェクトの細かい設定などができる分、
多少の使いずらさはある。(けど、僕は好きです。)
実装環境
・C++
・Visual Studio 2019
※2019以降でも対応すると思います。
手順
1.新しいプロジェクト(C++)を作成する。
2.プロジェクトを右クリックし、[プロパティ]を選択
3.構成を[Debug]にし、[C++]→[プリプロセッサ]を選択
4.プリプロセッサの定義に[_DEBUG]の記載を確認し、コピーする
5.同様に構成を[Release]にし、プリプロセッサの定義に[_DEBUG]がないことを確認
6.[_DEBUG]がないことを確認 (協調表現をしたかったんですが、反映されないため2度記入)
サンプルコード
あらかじめdebugモード用にプリプロセッサを定義付けしておくと、
releasモードに変えた場合にはdebugモード用のプリプロセッサは反映されない。
種明かし。
# include <iostream>
int main()
{
std::cout << "Current mode is ";
# if _DEBUG //debug時 _DEBUG はプロパティで定義
std::cout << "DEBUG" << std::endl;
# else //release時
std::cout << "RELEASE" << std::endl;
# endif
return 0;
}
実行結果
Github
ご参考にどうぞ。
https://github.com/yusa0827/191206_change_to_debug_or_release
反省
プリプロセッサの具体的なコードの意味などに触れられなかったことが残念。
できればさらに深い使い方まで勉強して、教えられるレベルに行きたいですね。