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,关闭某段代码中的警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable" int a; #pragma clang diagnostic pop
第4行引入了一个常见的警告:未使用的变量,关闭该警告的方法就是在该行代码前后加上1、2、6行样式的代码,重点是第2行最后的"-Wunused-variable"。
Disabling Clang Compiler warnings的更多相关文章
- 关于C#你应该知道的2000件事
原文 关于C#你应该知道的2000件事 下面列出了迄今为止你应该了解的关于C#博客的2000件事的所有帖子. 帖子总数= 1,219 大会 #11 -检查IL使用程序Ildasm.exe d #179 ...
- LLVM,Clang
在使用xcode时常常会遇到这2个概念,今天总结一下. wiki中关于llvm的描述: LLVM提供了完整編譯系統的中間層,它會將中間語言(IF, Intermediate form)從編譯器取出與最 ...
- clang 编译 OC
clang -fobjc-arc -framework Foundation helloworld.m -o helloworld.out OVERVIEW: clang LLVM compiler ...
- Building clang on RedHat
http://btorpey.github.io/blog/2015/01/02/building-clang/ clang is a great compiler, with a boatload ...
- FFmpeg源代码简单分析:configure
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- 预处理指令#pragma
#pragma介绍 #pragma是一个预处理指令,pragma的中文意思是『编译指示』.它不是Objective-C中独有的东西(貌似在C/C++中使用比较多),最开始的设计初衷是为了保证代码在不同 ...
- 你可能不知道的iOS冷知识——#pragma
Mattt Thompson撰写. Zihan Xu翻译. 发布于2012年10月1日 #pragma 声明是彰显 Objective-C 工艺的标志之一.虽然 #pragma 最初的目的是为了使得源 ...
- Cocoa编程之IBAction和IBOutlet含义
IBAction / IBOutlet / IBOutletCollection 时间 2014-05-05 15:00:00 NSHipster原文 http://nshipster.com/i ...
- ubuntu16.04+caffe+GPU+cuda+cudnn安装教程
步骤简述: 1.安装GPU驱动(系统适配,不采取手动安装的方式) 2.安装依赖(cuda依赖库,caffe依赖) 3.安装cuda 4.安装cudnn(只是复制文件加链接,不需要编译安装的过程) 5. ...
随机推荐
- ViewPager切换大量Fragment不刷新的问题
PagerAdapter,需要重写instantiateItem()加载视图,onDestroy()销毁视图FragmentPagerAdapter,每一个生成的Fargment都保存在内存中,也就是 ...
- Tomcatserverhttps协议配置简单介绍
一. 数字签名证书制作 1. 用jdk自带的keytool工具生成证书. 2. 导出证书: 3. 交给CA签名认证: 注意:制作具体步骤演示样例參见附录. 二.改动server.xml文件 改动con ...
- 会用errno,事半功倍
参考一 参考二 参考三 参考四 一. errno二. 把errno的数字转换成相应的文字说明1. 使用strerror函数2. 使用perror函数三. errno的线程/进程安全性附录 一. err ...
- [转] 有趣的JavaScript原生数组函数
在JavaScript中,可以通过两种方式创建数组,Array构造函数和 [] 便捷方式, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typeof操作符返回‘obj ...
- Android上传文件到服务器(转)
Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简 ...
- Python之路,Day20 - 分布式监控系统开发
Python之路,Day20 - 分布式监控系统开发 本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个 ...
- codevs1690开关灯
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #def ...
- js关于闭包的内存的问题--deep down
js有一个东西叫做GC(garbage collection )垃圾回收机制;js中有两种类型:js基本数据类型,js引用类型; 当一个函数[对象]--引用类型被引用后,过后,出了它的功能之后,gc会 ...
- asp.net C# 导出EXCEL数据
if (dt == null) { return ""; } Microsoft.Office.Interop.Excel.Application xlApp = new Micr ...
- eclipse/myeclipse 变量名自动补全问题
原理是:在输入变量名后,去掉按下空格或=后,代码上屏 以前只知道alt+/调出assist,后来发现可以所有字母都激活content assist(8.1里有写).用起来果然很爽,但是eclipse ...