zoukankan      html  css  js  c++  java
  • #pragma 处理警告

    摘自:#pragma处理警告

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

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

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-相关命令"
        // 你自己的代码
    #pragma clang diagnostic pop

    常见的用法

    1. 方法弃用告警

    #pragma clang diagnostic push  
    #pragma clang diagnostic ignored "-Wdeprecated-declarations"      
    [TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]];  
    #pragma clang diagnostic pop

    2. 不兼容指针类型

    #pragma clang diagnostic push   
    #pragma clang diagnostic ignored "-Wincompatible-pointer-types"  
       //  
    #pragma clang diagnostic pop

    3. 循环引用

    // 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. 未使用变量

    #pragma clang diagnostic push   
    #pragma clang diagnostic ignored "-Wunused-variable"  
        int a;   
    #pragma clang diagnostic pop
  • 相关阅读:
    Markdown语法帮助文档
    react-native-vector-icons使用方法
    如何创建Pull Request,以开源项目ant design pro为例
    4.环境变量总结篇
    3.Flutter之hello_world
    构建之法 阅读笔记03
    学习进度14
    团队项目-个人博客6.5
    团队项目-个人博客6.4
    构建之法 阅读笔记02
  • 原文地址:https://www.cnblogs.com/muzijie/p/6877481.html
Copyright © 2011-2022 走看看