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
  • 相关阅读:
    JSP,TOMCAT,JD,mysql环境搭建和连接数据库
    jsp基础学习记录
    将d盘根目录下的troydll.dll插入到ID为4000的进程中
    WebSocket内部原理
    基于流(Comet Streaming)
    短轮询
    DjangoWebSocket
    01WebSocket是什么
    Python实现WebSocket
    WebSocket
  • 原文地址:https://www.cnblogs.com/muzijie/p/6877481.html
Copyright © 2011-2022 走看看