文档章节

[IOS]clang diagnostic、Wprotocol ..

 汉唐盛京
发布于 2016/10/09 14:58
字数 280
阅读 13
收藏 0

首先, #pragma 本质上也是声明,一般常用的功能就是打注释、尤其是分段注释

但是#pragma 另外一个强大的功能就是处理编译器警告,用的时候可能就没上一个

功能用的那么多,在代码中处理警告却是极其高效的方法。

其中 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

 

#pargma 用法详情:

http://nshipster.cn/pragma/

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

相关的命令列表

http://fuckingclangwarnings.com/

进阶:

http://clang.llvm.org/docs/UsersManual.html#diagnostics_pragmas

本文转载自:http://www.2cto.com/kf/201412/363139.html

上一篇: iOS自动化归档
下一篇: textfield 光标定位
粉丝 0
博文 31
码字总数 6044
作品 0
昌平
程序员
私信 提问
[南京][其他]我想要一份iOS游戏开发或者Linux/Unix C++开发的工作

2010年的3月份曾在这里发过帖,求一份iOS游戏或者Unix C++的开发工作;4月份如愿开始了iOS游戏开发的工作,至今差不多1年零8个月,期间个人学习了很多,由完全不懂C++到现在比较熟悉C++;但是...

kiddie
2012/12/05
501
1
又拍云Prism CDN 超低价 低延时 超强兼容的P2P-CDN

又拍云Prism CDN 超低价 低延时 超强兼容的P2P-CDN 2018-05-15 10:26编辑: 枣泥布丁分类:业界动态来源:https://www.upyun.com/products CDN又拍云 招聘信息: C++工程师 Cocos2d-x游戏客户...

枣泥布丁
2018/05/15
0
0
在 Visual Studio中 将 Objective-C 编译为 C++

英文原文:Compiling Objective-C into C++ with Visual Studio 曾有人谣传微软 Windows 10 平台将支持运行 Android 程序,没有人会预料到 iOS 应用也将得到同样的支持。目前,微软正结合 C2...

心中
2015/05/08
3.9K
24
一、Objective-C概述

说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C。如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略...

长平狐
2013/03/28
128
0
区块链游戏独角兽,殿堂级的投资项目:Cocos-BCX

区块链游戏独角兽,殿堂级的投资项目:Cocos-BCX 2018-11-08 16:20编辑: suiling分类:区块链来源:Cocos-BCX 技术Cocos-BCX区块链 招聘信息: 图像处理及模式识别工程师 C/C++工程师 Coco...

suiling
2018/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

solr实例

需求:使用Solr实现电商网站中商品信息搜索功能,可以根据关键字、分类、价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能。 一.架构设计:1.solr服务器 2.自己开发的应用(2.1...

klmkom
44分钟前
0
0
在知乎上看到一个关于Python资源的很不错的主题,可惜点赞不过400多

看上去,混知乎的技术相关的人还是少。 哪些 Python 库让你相见恨晚? Lingfeng Ai,伯乐在线技术翻译组,欢迎喜欢互联网和英… bulan1989、五德 等人赞同 Awesome Python中文版来啦! 本文由...

dillonxiao
51分钟前
6
0
(二)Django编写数据模型类

设计数据库和表结构是做网站的基础。在Django中,不需要通过SQL语句直接跟数据库打交道,而是完全用Python的类来创建数据模型,之后交给Django完成创建数据库的操作。 数据模型类 数据模型类...

ZeroBit
53分钟前
3
0
关于TensorFlow 2.0,这里有你想知道的一切

全文共8094字,预计学习时长30分钟或更长 图片来源:pexels.com/@pixabay TensorFlow是谷歌2015年开源的通用高性能计算库。最初主要是为构建神经网络(NNs)提供高性能的API。然而,随着时间的...

读芯术
58分钟前
5
0
Wondershare Recoverit - 专业数据恢复神器,支持U盘、存储卡等外部设备!

Wondershare Recoverit 今天带来的这款软件叫做Wondershare Recoverit,是一款专业实用的数据恢复软件,也是一款比较久的数据恢复软件了,可以恢复所有文件类型。 包括照片、视频、文档和其他...

_Somuns
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部