2012-11-06 85 views
4

项目中,我已打开pedantic警告。但是,这现在给了我一个关于使用#warning警告:抑制:“#警告是语言扩展名”

词汇预处理问题
#warning后是语言的扩展

首先,我想知道这是为什么发生,如何阻止它(无需删除#warning)。

回答

6

它被生成的原因是因为#warning是ISO标准的扩展,这就是-pedantic

看起来只有#pragma会关闭它,因为没有-Wno-xxx标志可用于语言扩展。

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-pedantic" 

#warning blah blah blah 

#pragma clang diagnostic pop 
7

trojanfoe回答了为什么发出问题(+1)。

更便携和语言兼容的方式来发出警告讯息是:

#pragma message("YOUR WARNING HERE") 

锵将发出一个警告(具体而言,在邮件中写了一个 - 而不是迂腐一),它出现在Xcode的问题中。