忽略或重新定义GCC标准预定义宏

时间:2013-12-15 12:47:30

标签: c gcc compilation c-preprocessor flags

是否有可能告诉GCC编译源代码,并忽略像__FILE____LINE__等等的宏,或重新定义它们以扩展为let-say - 一个空字符串?

1 个答案:

答案 0 :(得分:5)

与任何宏一样,你可以使用:

#undef __LINE__
#undef __FILE__

然后你可以重新定义它们。

您还可以将-U macroname传递给undef宏名称,并-D macroname=definitiongcc选项定义宏名称。

请注意,如另一个答案所示,在C中取消定义或重新定义__LINE____FILE__会调用未定义的行为。