C代码通过编译器编译成可执行文件, 需经历 预处理编译汇编链接 四个阶段

Posted martin-ch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C代码通过编译器编译成可执行文件, 需经历 预处理编译汇编链接 四个阶段相关的知识,希望对你有一定的参考价值。

内容借鉴 于yqzheng

一、预处理

1.任务: 进行宏定义展开、头文件展开、条件编译, 不检查语法

2.命令: gcc -E [源文件] -o [预处理文件]

     gcc -E hello.c -o hello.i

二、编译

1.任务: 将预处理文件 编译成 汇编文件 检查语法

2.命令: gcc -S [源文件] -o [汇编文件]

     gcc -S hello.c -o hello.s

三、汇编

1.任务: 将汇编文件 生成 目标文件

2.命令: gcc -s [汇编文件] -o [目标文件]

     gcc -s hello.s -o hello.o

四、链接

1.任务: 找到依赖的库文件, 将目标文件 链接为 可执行程序

2.命令: gcc -c [目标文件] -o [可执行程序] -l [动态库名]

     gcc -c hello.o -o hello -L ./ -ladd

以上是关于C代码通过编译器编译成可执行文件, 需经历 预处理编译汇编链接 四个阶段的主要内容,如果未能解决你的问题,请参考以下文章

C语言——编译器如何将C源文件编译成可执行代码?

c语言如何把c程序编译成可执行的exe文件

如何最好地将 C++/Cython 项目编译成可执行文件?

简述将源程序编译成可执行程序的过程

C#.net写的winfrom程序怎么编译成可执行的exe文件

Linux内核第七节 20135332武西垚