在xcode4.5项目中,我已启用pedantic
警告。但现在这给了我关于使用#warning
:
词法预处理器问题
#warning是语言扩展
首先,我想知道为什么会发生这种情况以及如何阻止它(不删除#warning)。
答案 0 :(得分:7)
trojanfoe回答了问题的原因(+1)。
发布警告信息的更便携且符合语言的方式是:
#pragma message("YOUR WARNING HERE")
Clang会发出一个警告(特别是你在消息中写的那个 - 而不是迂腐的警告),它出现在Xcode的问题中。
答案 1 :(得分:6)
生成它的原因是因为#warning
是ISO标准的扩展,而-pedantic
就是{。}}。
看起来只有#pragma
会将其关闭,因为没有-Wno-xxx
标记可用于语言扩展。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-pedantic"
#warning blah blah blah
#pragma clang diagnostic pop