其流程为:源文件(xxx.c) --> 预处理(xxx.i) -->编译(xxx.s) -->汇编(xxx.o) -->链接 -->可执行文件(xxx.h)
前两个流程的作业:
1、源文件(xxx.c)为用户自己编写代码文件,如
#include<stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
2 预处理(xxx.i)的作用为将程序中的头文件拷贝一份出来,清除程序中的注释和将代码中的宏定义替换进去。
在终端写入gcc -E xxx.c -o xxx.i 即可生成预处理文件效果如下:
源代码如下
拷贝<stdio.h> 头文件
主函数,其中pi已经被替换成3.14并且注释已经全部消除
3、(xxx.s)和(xxx.o)文件除非真的需要用到,一般情况不会去转换;
当然要转换的化可以用gcc -s xxx.i -o xxx.s 编写.s 和 gcc -c xxx.s -o xxx.o编写.o文件