5

プロジェクトで、警告をオンにしましたpedantic。しかし、これは私に使用についての警告を与えます#warning

字句プリプロセッサの問題
#warningは言語拡張です

まず、なぜこれが起こっているのか、そしてそれを止める方法(#warningを削除せずに)を知りたいです。

4

2 に答える 2

8

trojanfoeは、問題が発生した理由(+1)に回答しました。

警告メッセージを出力するための、より移植性が高く言語に準拠した方法は次のとおりです。

#pragma message("YOUR WARNING HERE")

Clangは1つの警告(具体的には、メッセージに書き込んだ警告であり、衒学的な警告ではありません)を発行し、Xcodeの問題に表示されます。

于 2014-11-21T08:34:47.627 に答える
7

それが生成されている理由#warningは、ISO規格の拡張であり、それが何であるかということ-pedanticです。

言語拡張に使用できるフラグが表示されないため、aだけが#pragmaオフになるようです。-Wno-xxx

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

#warning blah blah blah

#pragma clang diagnostic pop
于 2012-11-06T14:12:37.303 に答える