美文网首页
编译和链接

编译和链接

作者: Sendom | 来源:发表于2018-02-28 14:51 被阅读0次

    编译和链接

    1. 预处理
    2. 编译
    3. 汇编
    4. 链接
    编译过程.png

    预处理(prepress)

    处理#开头的预编译指令。

    • #include:包含的文件插入此预编译指令位置,递归过程
    • #define:删除,展开宏定义
    • 条件预编译指令:执行#if #ifdef
    • 删除所有注释
    • 添加行号和文件名标识:产生警告和错误时能正确显示文件与行号
    • 保留所有#pragma编译器指令

    编译(compilation)

    • 对预处理完的文件,进行词法,语法,语义分析,优化,生成相应的汇编代码文件
    • 现在的编译器合并了预处理与编译步骤(c语言使用ccl,objc使用cclobjc)
    • 由此可见,编译器是根据不同的编译参数,调用对应的编程程序,预处理编译程序(ccl)汇编器:(as)连接器:(ld)
    • 输出汇编语言文件

    汇编(assembly)

    • 汇编只是简单地翻译过程,把汇编语言按照指令对照表意义翻译。
    • 汇编直接输出目标文件(Object File)

    链接(linking)

    • 将目标文件 链接成可执行文件

    相关文章

      网友评论

          本文标题:编译和链接

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