编译原理OC 底层

编译过程

2019-03-12  本文已影响0人  介和

编译过程

参考:

https://objccn.io/issue-6-1/

https://objccn.io/issue-6-3/

https://objccn.io/issue-6-2/

https://www.jianshu.com/p/65901441903e

http://blog.chinaunix.net/uid-31439230-id-5763397.html

https://blog.csdn.net/Future_One/article/details/81882359

1 预处理

符号化 (Tokenization)

宏定义的展开

#include 的展开

2 语法和语义分析

将符号化后的内容转化为一棵解析树 (parse tree)

解析树做语义分析

输出一棵抽象语法树(Abstract Syntax Tree* (AST))

3生成代码和优化

将 AST 转换为更低级的中间码 (LLVM IR)

对生成的中间码做优化

生成特定目标代码

输出汇编代码

4 汇编器

将汇编代码转换为目标对象文件。

5 链接器

将多个目标对象文件合并为一个可执行文件 (或者一个动态库)

上一篇下一篇

猜你喜欢

热点阅读