Pragma

2016-07-29  本文已影响39人  wpf_register
  • 在做注释特别是分段注释时,经常会用到 #pargam mark-
  • 但#pargma 另一个强大功能就是处理编译器警告,虽然用得较少,但在处理警告却是极高效的。在此作文,是为防止再次看到时懵逼

常见用法

  1. 方法弃用警告
 #pragma clang diagnostic push   
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"       
    //产生警告的代码
   #pragma clang diagnostic pop  
  1. 不兼容指针类型
#pragma clang diagnostic push   
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"   
    //  
 #pragma clang diagnostic pop 
  1. 循环引用
#pragma clang diagnostic push  
#pragma clang diagnostic ignored "-Warc-retain-cycles"  
        self.completionBlock = ^ {  
            ...  
        };  
 #pragma clang diagnostic pop 
  1. 未使用变量
#pragma clang diagnostic push   
#pragma clang diagnostic ignored "-Wunused-variable"   
  int a;   
#pragma clang diagnostic pop  
  1. 使用不存在的方法名
  #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wundeclared-selector"
     //code
 #pragma clang diagnostic pop

警告类型

如图所示,点击 Reveal in Log 右侧日志中中括号内容即是

点击Reveal in Log

如果想全工程忽略警告,如下图,将警告类型做修改
-Wunused-variable 改成 -Wno-unused-variable
-W-deprecated-declarations 改成 -Wno-deprecated-declarations


other warning
上一篇下一篇

猜你喜欢

热点阅读