作者:Varun Tomar
一个程序在运行到一台设备之前经历了很多转换的步骤。和其它的编程语言处理系统一样,Xcode构建系统为了确保执行顺序和各种依赖库,需要运行很多命令行指令,传递各种各样的参数。整个构建过程分为以下五个阶段:
1、预处理
2、编译
3、汇编
4、链接
5、加载
预处理
预处理的目的是把我们的程序转换成能被编译器识别的形式。它用宏的定义替换宏,发现依赖关系并解析预处理器指令。如果Swift编译器没有预处理器,我们则不能在Swift项目中定义宏命令。在Xcode8中是允许我们通过Build Setting
中的SWIFT_ACTIVE_COMPILATION_CONDITIONS
定义预处理器标记位的。它跟OC中的预处理器宏定义是一致的。
编译器
编译是整个过程中非常重要的一环。编译器是一个程序,它把高级语言像是Swift&Objective C转换成低级语言,像是目标文件。在iOS中有两类编译器『Clange & swiftc』。该过程可以描述为:
注意:编译器包含两个主要部分:前端和后端。Clange是C/C++/Objective-C的编译前端,swiftc是Swift的编译前端,LLVM是后端。这些乱七八糟的东西是什么,LLVM是从哪里来的?
不要担心

相关文章
- 【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播
- 面对职业瓶颈,iOS 开发人员应该如突破?
- 2020最新全栈必备 Redis,你还不了解么
- 基于qiankun落地部署微前端爬”坑“记
- OpenGL 入门篇章
- 深入了解定制 Bash
- OB有问必答 | OceanBase如何保证数据可靠性?
- 使用Vscode进行Python开发环境配置
上一篇: 8种ETL算法汇总大全!看完你就全明白了
下一篇: SwiftUI之View Tree实战1