基础复习 gcc 构造可执行程序的过程

假设源文件为:tmp.c

预处理阶段:

编译器驱动程序调用C语言预处理器(cpp),生成ASCII中间文件(.i)
gcc选项为“-E”
gcc -E  tmp.c -o tmp.i

编译阶段:

驱动程序运行C编译器(cc1),生成ASCII汇编语言文件(.s)
gcc选项为"-S"
gcc -S tmp.i -o tmp.s

汇编阶段:

驱动程序运行汇编器(as),生成可重定位目标文件(relocatable object file)(.o)
gcc选项为"-c"
gcc -c tmp.s -o tmp.o

链接阶段:

驱动程序运行链接器程序(ld),生成可执行文件(executale object file)
gcc tmp.o  -o tmp

参考:
《嵌入式Linux应用程序开发详解》
《深入理解计算机系统》

如有错误,恳请指正

猜你喜欢

转载自www.cnblogs.com/lif323/p/9563224.html