1

皆さん、こんにちは。私は Visual C++ 6.0 IDE でプログラミングしています。私の問題は次のとおりです。最初にコマンド ラインからマクロを定義しようとしました。これを実行しましたproject->settings。c++ コマンド定義で、このマクロ-DHELLO="HELLO!を入力しました。 :

#ifdef HELLO
HELLO;
#endif

これまではすべてOKです。

しかし、私の問題は、引数を取るマクロに関するものです。引数を使用してマクロを設定する方法と、2 番目の質問は、ソース コードからマクロを展開する方法です。

どんな助けでも本当に感謝しています。グーグルで検索したり、電子ブックを読んだりするのに多くの時間を費やしましたが、これは役に立ちませんでした。

4

1 に答える 1

1

無理みたいですね…

Microsoft のドキュメントを見ると、/Dオプションは次のように構成されています。

/Dname[= | # [{string | number}] ]

括弧を追加することは不可能に思えるので、このコマンド ライン オプションで関数のようなマクロを作成することはできません...


NB: Visual Studio で試してみたのは奇妙です。私のインテリセンスはそれを関数のようなマクロと見なすので、コードにエラーは表示されません (その下に赤い線はありません)が、コンパイルするときに次のようになります:

error C3861: 'MACRO_TEST': identifier not found 

type の定義により:

/D"MACRO_TEST( tst )= tst" // or -D"MACRO_TEST( tst )= tst"
于 2013-08-12T11:42:58.577 に答える