前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于-#pragma

关于-#pragma

作者头像
進无尽
发布2018-09-12 18:36:09
9930
发布2018-09-12 18:36:09
举报
文章被收录于专栏:進无尽的文章

在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。由于太复杂,在OC中主要在以下几个方面使用到:


用途一:用于标识代码

它们告诉Xcode编译器,要在编辑器窗格顶部的方法和函数弹出菜单中将代码分隔开,如下图所示:

pragma

一些类(尤其是一些控制器类)可能很长,方法和函数弹出菜单可以便于代码导航。此时加入#pragma 指令对代码进行逻辑组织很有效果。

值得注意的地方 **#pragma mark – 的“-”后面不能有空格。 如果你的标志没有出现在弹出菜单中,比如没有分隔线出现,请在Xcode菜单 “Preferences..”中的 “Code Sense”选项取消选中”Sort list alphabetically”即可。

用途二:用对OC警告的处理

最全忽略警告的代码

代码语言:javascript
复制
 一个忽略整数警号的例子:
//#pragma clang diagnostic push
//#pragma clang diagnostic ignored "-Wunused-variable"
  int a;
//#pragma clang diagnostic pop

warnings是编码中很重要的一个环节,编译器给出合理的warning能帮助开发者找到自己代码的问题,防止很多bug产生。 默认用XCode创建一个工程,会自动开启一些重要的warnings,但是更多的时候,我们需要编译器更完整的提醒。 iOS开发采用Clang编译器。LLVM是一个开源的编译器架构,Clang是LLVM的一个编译器前端。 更多关于 Clang 和 LLVM请点击: iOS——LLVM、Clang浅析

想了解更多关于#pragma请移步到以下文章:

#pragma预处理命令 谈谈Objective-C的警告

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.08.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档