也不影响整个业务代码的功能实现,但是警告多了就会有压迫感,甚至会让开发者心生质疑和反感,然而#pragma clang diagnostic ignored指令可以消除这些顾虑,但前提是要确保这些指令不会影响相关业务的实现,不然会适得其反、因小失大、得不偿失。
1. 解释#pragma clang diagnostic ignored的用途#pragma clang diagnostic ignored 是Clang 编译器提供的一个指令,用于在编译过程中忽略特定的警告或错误信息。这对于开发者在不影响编译过程的前提下,临时忽略一些他们认为不重要或者已知但暂时无法修复的警告信息非常有用。 2. 提供#pragma clang diagnostic ignored的语法...
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....
[1] 特定代码警告处理 通过使用【#pragma clang diagnostic push/pop】,你可以告诉编译器仅仅为某一特定部分的代码(最初的诊断设置在最后的pop被恢复)忽视特定警告。其步骤如下: #pragma clang diagnostic push #pragma clang diagnostic ignored "-相关命令" // 你自己的代码 #pragma clang diagnostic pop 下面例...
#pragma clang diagnostic ignored "-Warc-performSelector-leaks" 类推:(忽略Xcode Clang编译器警告) 当你确定编译器的警告对你来说没有什么用处的时候,为了避免心烦,你可以使用#pragma clang diagnostic ignored “xxx” 这样的语句来忽略掉相应的警告
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...
#pragma clang diagnostic ignored "-Warc-retain-cycles" ...//一些代码 #pragma clang diagnostic pop 那么这些代码是拿来干嘛的呢?且听我慢慢道来。 确实在我们日常工作中,经常用到#pragma mark或者// MARK:来组织代码,并且大家都知道组织代码有两种形式: 一种是用来分组,一种是用来标注。具体如何展示大家也当...
叮当声:--- -Wno-unknown-pragmas / #pragma clang diagnostic ignored "-Wunknown-pragmas" 英特尔 C/C++ 编译器: -diag-disable 161 / #pragma warning(disable:161) PGI: #pragma diag_suppress 1675 MSVC : -wd4068 / #pragma warning(disable:4068) TI: --diag_suppress,-pds=163 / #pragma diag...
#pragma clang diagnostic push#pragma clang diagnostic ignored "-Wdeprecated-declarations"_some_deprecated_method(nil);#pragma clang diagnostic pop 那么到底有哪些Flags可以设置来忽略warning呢? 直接找下clang的文档就知道了:Diagnostic flags in Clang
1)#pragma clang diagnostic ignored #pragma clang diagnostic ignored "-Wname" 忽略名称为name引起的警报,编译器不再提示警报信息。例如 “unused”。 2) #pragma clang diagnostic warning #pragma clang diagnostic warning "-Wname" 与上一条相反,对于由name引起的警报。编译器将给出警报提示。