现在我们有一个C语言文件(hello.c):
#include <stdio.h>
int main() {
printf("hello, world!\n");
return 0;
}
现在我们将执行以下命令将源文件(hello.c)转化为可执行目标文件(hello):
gcc -o hello hello.c
我们使用的是gcc编译器驱动程序完成的。这个转化的过程可分为四个阶段完成。执行这四个阶段的程序(预处理器、编译器、汇编器和链接器)一起构成了编译系统。
hello.c(源程序[文本])->预处理器(cpp)->hello.i(修改了的源程序[文本])->编译器(ccl)->hello.s(汇编程序[文本])->汇编器(as)->hello.o(可重定位目标程序[二进制])->链接器(ld)->hello(可执行目标程序[二进制])
来源于:《深入理解计算机系统》 · 第三版