任何C / C ++ 编译器(不是预处理器)是否都考虑在命令行中定义的重要宏?此问题包括用户定义的宏和众所周知的(编译器或系统特定的)宏。
(我不是在询问编译器开关,而是在命令行上只有那个SINGLE switch-to-define-mac。)
例如,如果您已将myfile.cpp
“预处理”为myfile.i
,然后想将myfile.i
编译为myfile.obj/myfile.o
,让-Dmacro
在命令行中为myfile.i
==> myfile.obj/myfile.o
定义一些“宏”是否有意义?
同样,链接器是否考虑重要宏(在任何地方定义)?
答案 0 :(得分:3)
是
某些调试格式将记录预处理器定义,以便可以在调试器中访问它们。
(但我知道没有接受预处理器标志的链接器。)