• ベストアンサー

VisualC++のプリプロセッサ定義とビルド関係

VisualC++のプロジェクトには「#define _MYDEBUG」というプリプロセッサと同じ働きをするプリプロセッサ定義という設定項目がプロジェクトのプロパティにありますが、これらがコンパイラによって使用されるタイミングはどのようなものでしょうか? VisualC++コンパイラがソースパーズ時にプロジェクトのプリプロセッサ設定を参照しに行ってコンパイル結果に反映させるといったことが行われているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • haniriito
  • ベストアンサー率57% (12/21)
回答No.1

こんにちは。 「VisualC++コンパイラがソースパーズ時にプロジェクトのプリプロセッサ設定を参照しに行って」 というよりは、 「VisualC++(=IDE)が、コンパイラに/Dオプションを渡すことで、プリプロセッサマクロを渡している」 というべきでしょう。 VisualC++をお持ちなら次の項目を確認してみてください。  ○プロジェクト(または個別のソースファイル)のプロパティを開いて、「構成プロパティ」→「C/C++」→「プリプロセッサ」のなかの「プリプロセッサの定義」に_MYDEBUGを追加する。  ○次に、「構成プロパティ」→「C/C++」→「コマンドライン」を開くと、あなたが指定したプリプロセッサ定義が、/D "_MYDEBUG"などのように追加されて、コンパイラにコマンドラインオプションとして引き渡されることが確認できます。

okdummy001
質問者

お礼

ありがとうございました。

okdummy001
質問者

補足

簡潔で具体的なご回答で助かりました!

関連するQ&A