zoukankan      html  css  js  c++  java
  • Disabling Clang Compiler warnings

    开发中,经常需要禁止编译器提示某些warnings,下面是典型场景和

    1,使用CocoaPods时,引用的其他人开发的Pods中包含warnings。

    2,直接引用其他人写的源代码时,包括通过直接导入Project、直接引用源文件中包含warnings。

    3,自己写的代码中引入的warnings,比如调用performSelector: 向基类对象发送派生类中才定义的消息时。

    禁止warning的方法:

    1,关闭Pods中的警告

    在Podfile中加入第4行的代码:inhibit_all_warnings!

     1 # Uncomment this line to define a global platform for your project
     2 # platform :ios, '6.0'
     3 
     4 inhibit_all_warnings!
     5 
     6 target 'TestTarget' do
     7 pod 'SDWebImage', '~> 3.7.1'
     8 pod 'MBProgressHUD', '~> 0.9'
     9 pod 'TMCache', '~> 1.2.3'
    10 pod 'AutoCoding', '~> 2.2.1'
    11 end

    保存Podfile后,打开Workspace之前,不要忘了再次运行pod install让设置生效。

    2,关闭某个文件中的警告

    通过Xcode-Target-Build Phases菜单,找到包含警告的源文件,双击后,加入“-w”后保存,再次编译,就看不到该文件中包含的所有警告了。

    通过Clang Compiler User's Manual,可以看到:-w:Disable all diagnostics.

    如果只想关闭某个警告,可以使用-Wno-foo,foo是warning的名字。

    BTW:若果想关闭所有警告,但只想打开特定警告,使用-Wfoo。同样的,foo是warning的名字。

     

    3,关闭某段代码中的警告

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

    第4行引入了一个常见的警告:未使用的变量,关闭该警告的方法就是在该行代码前后加上1、2、6行样式的代码,重点是第2行最后的"-Wunused-variable"。

  • 相关阅读:
    聊聊 Java8 以后各个版本的新特性
    如何使用SpringBoot封装自己的Starter
    Git原理入门解析
    Linux磁盘管理:LVM逻辑卷的拉伸及缩减
    LVM在线扩容
    Ubuntu setup Static IP Address
    ubuntu修改主机名
    user.sh
    升级Dell的R810固件版本
    DSET收集ESXi硬件日志
  • 原文地址:https://www.cnblogs.com/tara/p/4284075.html
Copyright © 2011-2022 走看看