预处理优化
摘要: 介绍一点规范
C族语言基本上都有以下流程:
常用预编译指令:
- 头文件导入,#import/#include
- 条件编译, #if/#endif等
- 文本替换,#define
- 其它处理注释,警告等
查看源文件的预处理结果: xcode -> Product -> Perform Action -> Preprocess "xxx.m"
编译阶段的优化可以考虑缩减预处理阶段的工作量
- 通过@class声明,可以避免头文件的递归导入,减少查找和处理的头文件
- 非公开的属性和方法,放到.m文件中
- 库文件建议指向准确导入的文件
- 使用<>代替“”导入三方库
PS: @class (好处多多)
* 避免循环引用
* 避免头文件的递归操作,减少查找和处理的头文件
* 切断增量编译中头文件的依赖链
如果我们仔细观察过苹果官方的系统头文件,会发现里面已经是非常棒的实践
- 库文件指向准确导入的文件
- @class声明