Xcode 如何使用#pragma-clang诊断

Xcode 如何使用#pragma-clang诊断,xcode,clang,pragma,diagnostics,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-clangdiagnostic-ignored(“

我知道,#pragma clang diagnostics可用于忽略clang生成的一些警告。但我不知道如何正确使用这个

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

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"

int number;

#pragma clang diagnostic pop
但我不知道如何为#pragma-clangdiagnostic-ignored(“-Wunused-variable”这里)获取正确的参数


有没有办法用xcode为特定警告指定此类警告名称?

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

如果您知道消息,则可以查找警告命令行参数:

确定,这就是我的理解

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

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

在这里,
clangdiagnostics
扮演着这个角色

其机制类似于图矩阵,它是以堆栈的方式发生的

所以当你有这样的事情

#pragma-clang诊断推送

#pragma-clang诊断被忽略“-Wcovered开关默认值”

//代码

#pragma-clang诊断弹出窗口


您正在阻止Clang在该区域显示警告消息,因此它类似于安全区域。

我再也看不到该选项,只在符号或finder中显示。这在xcode 5上是如何工作的?好的,对于看到选项变灰的各位(@user1028028和@Stas)。你需要先建立。然后,在构建完成后,执行相同的操作。该选项不会灰显。如果在此之后尝试引入新的错误/警告,则上下文菜单选项将仅对新的警告/错误灰显。基本上,您需要首先生成日志。希望这仍然有帮助!Cheers这个问题可能会帮助您正确使用诊断工具的语法谢谢,它已更新为官方文档,现在也有相关信息。