计算机只能读取机器码,并不认识我们的源程序。所以写好程序要经过编译等一系列过程才能生成计算机能够理解的机器码,那么过程是怎样的呢?这里以GCC编译指令为例加以说明:
1)预处理过程
gcc main.c -E main.i //主要是将宏展开,将包含的头文件展开
2)编译过程
gcc main.i -S main.s //生成汇编文件
3)汇编
gcc main.s -o main.o //生成机器码
4)链接
gcc main.o -o main //链接各个目标文件(.o),同时加载库文件,最后生成可执行文件。