-D MACRO和#define MACRO 5的优先级

时间:2013-08-12 11:08:35

标签: c++ visual-c++ macros

大家好我在Visual C ++ 6.0 IDE上编程我的问题是:我尝试从命令行定义宏我首先做了这个:project->settings c ++命令定义我输入了这个宏:{{1 “当我从我输入的源代码中使用它时:

-DHELLO="HELLO!

直到这一切都好。

但我的问题在于那些接受参数的宏,所以我如何设置一个带参数的宏,第二个问题是如何从源代码中扩展它?

非常感谢任何帮助。我花了很多时间在谷歌上搜索,阅读电子书,但这没有帮助。

1 个答案:

答案 0 :(得分:1)

似乎不可能......

如果您查看Microsoft文档,/D选项的构造如下:

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

由于似乎无法添加parantheses,我不能使用此命令行选项创建类似函数的宏...


注意:我尝试使用Visual Studio很奇怪,我的智能感知将其视为类似功能的宏,因此代码中没有可见的错误(其下没有红线),但是时间到了编译我得到:

error C3861: 'MACRO_TEST': identifier not found 

定义类型:

/D"MACRO_TEST( tst )= tst" // or -D"MACRO_TEST( tst )= tst"