美文网首页
编译和链接

编译和链接

作者: 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)

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

相关文章

  • 编译和链接

    编译和链接 预处理 编译 汇编 链接 预处理(prepress) 处理#开头的预编译指令。 #include:包含...

  • 编译和链接

    作为刚毕业没多久的非计算机学院出身的工科生,误打误撞的变成一个程序猿,因基础知识很薄弱,在此记录一些学习的过程。...

  • 编译和链接

    (摘自《程序员的自我修养》) 1. 被隐藏了的过程   当我们使用gcc来编译一个程序时,例如   运行结束后会生...

  • 编译和链接

    摘自《程序员自我修养》 对于平时的应用程序开发,我们很少关注编译和连接过程,因为通常的开发环境都是流行的集成开发环...

  • xcode 编译 系统 深入学习(2)(待续)

    编译(通常我们说的编译包括编译和链接)报错 知识要点: 我们知道编译型语言,源文件必须经过编译(build)和链接...

  • 二、编译和链接

    1. 源代码(hello.c) 2. 预编译过程 $ gcc -E hello.c -o hello.i 预编译过...

  • 二、编译和链接

    1. 编译的四个步骤 预处理(Propressing)编译(Compilation)汇编(Assembly)链接(...

  • 2 编译和链接

    第二章 编译和链接词法分析语法分析语义分析中间语言生成目标代码生成与优化链接器 第二章 编译和链接 平时我们使用的...

  • 编译

    编译和链接 编译过程 预编译 生成.i 文件 不包含任何宏定义,宏被展开 编译 汇编 链接 编译器做了什么 词法分...

  • 第二部分-静态链接

    一、编译和链接 1、构建:IDE一般都将编译和链接的过程一步完成,通常将这种编译和链接合并到一起的过程称为构建; ...

网友评论

      本文标题:编译和链接

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