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

Posted lif323

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础复习 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应用程序开发详解》
《深入理解计算机系统》

如有错误,恳请指正



以上是关于基础复习 gcc 构造可执行程序的过程的主要内容,如果未能解决你的问题,请参考以下文章

C零基础课程-01-从C程序到可执行文件的过程

软件构造知识复习----可理解性编程

图片+代码:GCC 链接过程中的重定位过程分析.md

图片+代码:GCC 链接过程中的重定位过程分析.md

逆向及Bof基础实践

java复习基础篇——代码执行顺序