Linux一个简单main.c程序的编译经过的步骤:预编译,编译,汇编,链接
预编译:
1.将#define删除,展开所有的宏定义
2.处理所有的条件预编译指令
3.将头文件包括进程序文件中
4.删除注释
5.添加行号和文件名标识,以便于编译器产生调试用的行号信息
6.保留#pragma编译器指令
编译:
进行一系列的语法分析、词法分析、语义分析及优化
汇编:将汇编代码转化为机器可以执行的指令
链接:将许多文件链接起来才可以得到最后的可执行文件、
四步实现可执行文件:
在linux下通过gcc来实现每一个步骤
1.预编译:gcc -E main.c -o main.i
2.编译:gcc -S main.i -o main.s
3.汇编:gcc -c main.s -o main.o
4.链接:gcc -o main main.o
两步实现可执行文件:
gcc -c main.c(-o main.o)
gcc -o main main.o
一步实现可执行文件:
gcc -o main main.c
makefile文件的使用:
管理工程时,可以将多个文件进行编译
vi makefile写文件
make:得到main的可执行文件