C 编译器、链接器、加载器详解

来源:互联网 发布:网络存在安全风险 编辑:程序博客网 时间:2024/05/20 23:56

原文请见 C 编译器、链接器、加载器详解

C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。

  • 编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。
  • 链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可加载、可执行代码的过程。


这里写图片描述

  • 预处理器:将.c 文件转化成 .i文件,使用的gcc命令是:gcc –E,对应于预处理命令cpp;
  • 编译器:将.c/.h文件转换成.s文件,使用的gcc命令是:gcc –S,对应于编译命令 cc –S;
  • 汇编器:将.s 文件转化成 .o文件,使用的gcc 命令是:gcc –c,对应于汇编命令是 as;
  • 链接器:将.o文件转化成可执行程序,使用的gcc 命令是: gcc,对应于链接命令是 ld;
  • 加载器:将可执行程序加载到内存并进行执行,loader 和 ld-linux.so。
0 0
原创粉丝点击