文章目录
C语言文件编译和链接过程
总体过程
预处理 编译 汇编 链接
预处理
cpp(c预处理器)将源程序main.c翻译成ASCII码的中间文件main.i
cpp [other arguments] main.c /tmp/main.i
编译
cc1(c编译器)将main.i翻译成ASCII汇编语言文件main.s
cc1 /tmp/main.i -Og [other arguments] -o /tmp/main.s
汇编
as(汇编器)将main.s翻译成可重定位目标文件main.o
as [other arguments] -o /tmp/main.o /tmp/main.s
sum.c经同样的过程,生成sum.o
链接
链接器程序ld将main.o、sum.o和一些必要的系统目标文件组合起来,创建一个可执行文件prog