0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio 2019 C++ 条件つきプリプロセッサ debugとreleaseの切り替え

Last updated at Posted at 2019-12-06

背景

C++でコードを書くとき、
debugモードとreleaseモードをcoolに使い分けたかった。
ロボットを動かすときなどは、使い分けると楽。
どうやら、c++の条件付きプリプロセッサがヒントらしい。

Visual Studio 2019などはプロジェクトの細かい設定などができる分、
多少の使いずらさはある。(けど、僕は好きです。)

実装環境

・C++
・Visual Studio 2019
※2019以降でも対応すると思います。

手順

1.新しいプロジェクト(C++)を作成する。
2.プロジェクトを右クリックし、[プロパティ]を選択
無題sad.png
3.構成を[Debug]にし、[C++]→[プリプロセッサ]を選択
4.プリプロセッサの定義に[_DEBUG]の記載を確認し、コピーする
無題saca.png
5.同様に構成を[Release]にし、プリプロセッサの定義に[_DEBUG]がないことを確認
6.[_DEBUG]がないことを確認 (協調表現をしたかったんですが、反映されないため2度記入)

サンプルコード

あらかじめdebugモード用にプリプロセッサを定義付けしておくと、
releasモードに変えた場合にはdebugモード用のプリプロセッサは反映されない。
種明かし。

debug_release.cpp
# 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;
}

実行結果

・debugのとき
無題sdfsa.png

・releaseのとき
無題aefdasdc.png

Github

ご参考にどうぞ。
https://github.com/yusa0827/191206_change_to_debug_or_release

反省

プリプロセッサの具体的なコードの意味などに触れられなかったことが残念。
できればさらに深い使い方まで勉強して、教えられるレベルに行きたいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?