- 在做注释特别是分段注释时,经常会用到 #pargam mark-
- 但#pargma 另一个强大功能就是处理编译器警告,虽然用得较少,但在处理警告却是极高效的。在此作文,是为防止再次看到时懵逼
常见用法
- 方法弃用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
//产生警告的代码
#pragma clang diagnostic pop
- 不兼容指针类型
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
//
#pragma clang diagnostic pop
- 循环引用
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-retain-cycles"
self.completionBlock = ^ {
...
};
#pragma clang diagnostic pop
- 未使用变量
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
int a;
#pragma clang diagnostic pop
- 使用不存在的方法名
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
//code
#pragma clang diagnostic pop
警告类型
如图所示,点击 Reveal in Log 右侧日志中中括号内容即是
如果想全工程忽略警告,如下图,将警告类型做修改
-Wunused-variable 改成 -Wno-unused-variable
-W-deprecated-declarations 改成 -Wno-deprecated-declarations