zoukankan      html  css  js  c++  java
  • #pragma 处理警告 clang diagnostic 的使用

    首先#pragma在本质上是声明,常用的功能就是注释,尤其是给Code分段注释;而且它还有另一个强大的功能是处理编译器警告,但却没有上一个功能用的那么多。

    clang diagnostic 是#pragma 第一个常用命令:

    #pragma clang diagnostic push

    #pragma clang diagnostic ignored "-相关命令"

        // 你自己的代码

    #pragma clang diagnostic pop

    常见的用法

    1. 方法弃用告警

    1
    2
    3
    4
    #pragma clang diagnostic push   
    #pragma clang diagnostic ignored "-Wincompatible-pointer-types"  
       //  
    #pragma clang diagnostic pop

    2. 不兼容指针类型

    1
    2
    3
    4
    #pragma clang diagnostic push   
    #pragma clang diagnostic ignored "-Wincompatible-pointer-types"  
       //  
    #pragma clang diagnostic pop

    3. 循环引用

    1
    2
    3
    4
    5
    6
    7
    // completionBlock is manually nilled out in AFURLConnectionOperation to break the retain cycle.  
    #pragma clang diagnostic push  
    #pragma clang diagnostic ignored "-Warc-retain-cycles" 
        self.completionBlock = ^ {  
            ...  
        };  
    #pragma clang diagnostic pop

    4. 未使用变量

    1
    2
    3
    4
    #pragma clang diagnostic push   
    #pragma clang diagnostic ignored "-Wunused-variable"  
        int a;   
    #pragma clang diagnostic pop

    5. 未使用default

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wcovered-switch-default"
    //    switch (style) {
    //        case UITableViewCellStyleDefault:
    //        case UITableViewCellStyleValue1:
    //        case UITableViewCellStyleValue2:
    //        case UITableViewCellStyleSubtitle:
    //            // ...
    //        default:
    //            return;
    //    }
    #pragma clang diagnostic pop

    参考链接:

    http://nshipster.cn/pragma/

    http://nshipster.com/clang-diagnostics/

    http://fuckingclangwarnings.com/

  • 相关阅读:
    Typesceipt声明文件
    Hadoop综合大作业
    分布式并行计算MapReduce
    安装关系型数据库MySQL 安装大数据处理框架Hadoop
    爬虫综合大作业
    爬取全部的校园新闻
    爬取全部的校园新闻
    获取一篇新闻的全部信息
    理解爬虫原理
    中文词频统计
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/7714841.html
Copyright © 2011-2022 走看看