2012-11-06 116 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的問題中。