- ベストアンサー
VisualC++のプリプロセッサ定義とビルド関係
VisualC++のプロジェクトには「#define _MYDEBUG」というプリプロセッサと同じ働きをするプリプロセッサ定義という設定項目がプロジェクトのプロパティにありますが、これらがコンパイラによって使用されるタイミングはどのようなものでしょうか? VisualC++コンパイラがソースパーズ時にプロジェクトのプリプロセッサ設定を参照しに行ってコンパイル結果に反映させるといったことが行われているのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 「VisualC++コンパイラがソースパーズ時にプロジェクトのプリプロセッサ設定を参照しに行って」 というよりは、 「VisualC++(=IDE)が、コンパイラに/Dオプションを渡すことで、プリプロセッサマクロを渡している」 というべきでしょう。 VisualC++をお持ちなら次の項目を確認してみてください。 ○プロジェクト(または個別のソースファイル)のプロパティを開いて、「構成プロパティ」→「C/C++」→「プリプロセッサ」のなかの「プリプロセッサの定義」に_MYDEBUGを追加する。 ○次に、「構成プロパティ」→「C/C++」→「コマンドライン」を開くと、あなたが指定したプリプロセッサ定義が、/D "_MYDEBUG"などのように追加されて、コンパイラにコマンドラインオプションとして引き渡されることが確認できます。
お礼
ありがとうございました。
補足
簡潔で具体的なご回答で助かりました!