如何使用#pragma clang diagnostics

时间:2013-11-19 18:15:15

标签: xcode clang pragma diagnostics

我知道 #pragma clang diagnostics 可以用来忽略clang生成的一些警告。但我不知道如何正确使用它。

例如,对于未使用的变量警告,我们可以通过

避免警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"

int number;

#pragma clang diagnostic pop

但是我不知道如何为#pragma clang诊断忽略正确的参数(这里是“-Wunused-variable”)

有没有办法用xcode为特定警告提出这种警告名称?

3 个答案:

答案 0 :(得分:29)

右键单击问题导航器中的问题,然后选择“在日志中显示”。错误消息将指定警告。

答案 1 :(得分:17)

如果您知道消息:Diagnostic flags in Clang

,则可以查看警告命令行参数

答案 2 :(得分:0)

好的,那就是我理解的

Clang是编译器的C / Objective C前端层。 并且Clang负责显示我们在Xcode中看到的警告和错误消息。

因此,当您在Xcode中启用将警告视为错误的选项时, 在某些情况下,您需要一个工具来解决Clang以允许一些警告..

并且Clang Diagnostics扮演这个角色..

并且它的机制就像Graph Matrix,它发生在Stack方式..Push和Pop ..

所以当你有这样的事情时......

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wcovered-switch-default"

//代码.........

#pragma clang diagnostic pop

你正在阻止Clang在该区域显示警告信息,因此它类似于SafeArea ..

你可以在这里找到更多可以避免的Clang警告.. http://fuckingclangwarnings.com