1、c语言程序生成过程C语言程序的生成过程可以简单的分为:编辑、预处理、编译、汇编、链接五个阶断。下面所有的操作以hello world程序为例,源码文件命名为t.c,源码内容如下:#include <stdio.h>int main(){printf("hello world\n");return 0;}
2、预处理阶断预处理阶断是对c源码中的预处理代码进行处理。gcc -E -o t.i t.c
3、编译阶断编译阶断是将c源码处理为汇编代码。gcc -S -o t.s t.i或者gcc -S -o t.s t.c
4、汇编阶断汇编阶断是将汇编代码处理为二进制代码。gcc -c -o t.o t.s或者gcc -c -o t.o t.c
5、链接阶断链接阶断将二进制代码打包成一个操作系统可以识别的可执行文件格式,linux是elf格式,windows上是pe格式。gcc -o t t.o或者gcc -o t t.c
6、运行阶断运行阶断,有操作系统的可执行文件加载器负责加载并执行程序。./t