编译过程

作者: 介和 | 来源:发表于2019-03-12 17:24 被阅读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 链接器

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

    相关文章

      网友评论

        本文标题:编译过程

        本文链接:https://www.haomeiwen.com/subject/cninpqtx.html