也不影响整个业务代码的功能实现,但是警告多了就会有压迫感,甚至会让开发者心生质疑和反感,然而#pragma clang diagnostic ignored指令可以消除这些顾虑,但前提是要确保这些指令不会影响相关业务的实现,不然会适得其反、因小失大、得不偿失。
1. #pragma clang diagnostic ignored的用途 #pragma clang diagnostic ignored 是Clang 编译器的一个指令,用于在编译过程中暂时忽略指定的警告或错误。这对于处理一些已知的、但当前无法避免或不愿修改的编译器警告非常有用。通过使用这个指令,开发者可以保持代码的整洁,同时避免编译器警告的干扰,尤其是在处理第三方库...
1.方法弃用警告 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" //自己的代码 #pragma clang diagnostic pop 2.不兼容指针类型 #pragma clang diagnostic push #pragma clang diagnostic ignored “-Wincompatible-pointer-types" //自己的代码 #pragma clang diagnost 3....
#pragma clang diagnostic ignored "-Wdeprecated-declarations" #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" 1. 2. 3. 4. 这里写出现警告的代码 #pragma clang diagnostic pop 1. 这样就消除了方法弃用的警告! 同理, 大家可以在下边搜索到对应的警告, 这样 就可...
#pragma clang diagnostic ignored "-Warc-performSelector-leaks" 类推:(忽略Xcode Clang编译器警告) 当你确定编译器的警告对你来说没有什么用处的时候,为了避免心烦,你可以使用#pragma clang diagnostic ignored “xxx” 这样的语句来忽略掉相应的警告
在需要恢复警告处理方式的代码段之后,使用#pragma clang diagnostic指令,指定要恢复的警告标识符。例如,要恢复警告标识符"custom-warning"的处理方式,可以使用以下指令: 完整的示例代码如下: 代码语言:txt 复制 #pragma clang diagnostic push #pragma clang diagnostic ignored "custom-warning" ...
clang diagnostic 是#pragma 第一个常用命令: #pragmaclang diagnostic push#pragmaclang diagnostic ignored"-相关命令"// 你自己的代码#pragmaclang diagnostic pop 常见的用法 1. 方法弃用告警 #pragmaclang diagnostic push#pragmaclang diagnostic ignored "-Wincompatible-pointer-types"//#pragmaclang diagnostic pop...
1. clang命令,它的作用是用来消除特定区域的clang的编译警告,-Wgnu则是消除?:警告, 例: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgnu" //消除警告代码 #pragma clang diagnostic pop 下边的链接是clang的警告信息列表Which Clang Warning Is Generating This Message?
使用Clang的注释指令:在包含语句之前,使用Clang的注释指令#pragma clang diagnostic push和#pragma clang diagnostic ignored来暂时禁用Clang的某些警告或错误检查。这样,Clang就不会对包含语句进行重新排序。 使用Clang的命令行选项:如果你使用命令行编译代码,可以通过添加Clang的命令行选项来禁用包含的重新排序。例如,...
#pragma clang diagnostic ignored "-Wundeclared-selector" //插入需要忽略的相关代码(test方法在本类中不存在,ignored后加入"-Wundeclared-selector"编译器便忽略了此警告。) [one performSelector:@selector(test) withObject:nil afterDelay:2.0];