Objective-C中的预处理器指令与宏

本文介绍了Objective-C中的预处理器指令,包括头文件包含(#include、#import)、条件编译(#if、#elif、#else、#endif等)、诊断(#error、#warning、#line)和#pragma指令。重点讨论了头文件包含的双引号与尖括号区别,以及#import与#include的使用场景。同时,文章提到了宏定义及其注意事项,提醒开发者避免过度使用宏,以保证代码的可读性和维护性。
摘要由CSDN通过智能技术生成

什么是预处理器,跟我有什么关系?

预处理器是在OC源文件编译过程中的一个部分,而且是第一个处理部分,预处理器的预也由此可见。

整个编译过程可以大致分为:预处理器进行词法分析 -> 语法分析 -> 生成代码和优化 -> 生成可执行的二进制文件。

既然有这么多过程,为什么要关注预处理器呢?因为它在我们的开发中最常见,而且每个iOS开发者一定都见过。

不信的话我们可以列举一下常见的预处理指令,预处理器有其区别于Objective-C的独特语法,语法形式如下:

#指令名 指令参数

有点眼熟了?我们再具体地说说包含哪些:

  • 头文件包含(#include、#import)
  • 条件编译(#if、#elif、#else、#endif、#ifdef和#ifndef)
  • 诊断(#error、#warning和#line)
  • #pragma指令

这样列出来就明白了吧,早说是这些就简单了嘛,大部分都是熟人,慢着,这些熟悉的具体表示什么?有什么区别?那些不太熟的又是干什么的呢?我们一个个来看。

除了上述的指令外,还有一个老熟人也属于预处理器的范畴,下文再来说。

预处理器指令

头文件包含

学C语言的时候就接触到了#include,学java也会用到import(注意没有#号),都是用来导入头文件的,这个作用我们明白,OC中的导入头文件有#include和#import两种指令,而且对于头文件名还分为双引号包含和尖括号包含两种方式:

#include "头文件名"

#include <头文件名>

#import "头文件名"

#import <头文件名>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值