3
#define DF__TCDX0_RB_INFO__BRANCH_INDEX_LIST__[0, 2] 1
warning: missing whitespace after the macro name [enabled by default]
我试图编译第三方头文件,gcc正在抛出此警告。 我不确定这个宏是干什么的。它是定义以下内容的捷径吗?我如何解决警告?来自宏的警告
#define DF__TCDX0_RB_INFO__BRANCH_INDEX_LIST__0 1
#define DF__TCDX0_RB_INFO__BRANCH_INDEX_LIST__1 1
#define DF__TCDX0_RB_INFO__BRANCH_INDEX_LIST__2 1
这不是标准的语法,所以可能是某种编译器扩展等。你知道该库的作者使用哪个编译器吗? – sth
我不确定作者是否使用了特殊的东西来编译。但如果gcc无法识别宏,它不应该抛出错误而不是警告? – Jean
它是有效的代码(宏'DF__TCDX0_RB_INFO__BRANCH_INDEX_LIST__'扩展为'[0,2] 1'),所以它不会是一个错误,但它看起来很奇怪(有人认为他们可以制作一个宏,它将括号中的参数?)尽管我注意到用'-std = c99'这个警告特别说明了“ISO C99需要宏名后面的空格”......所以也许这就是C89和C99之间的区别? –