C编译过程
当在命令行中输入下列编译指令时:
gcc -O2 -o p.out p1.c p2.c
其后台具体编译过程如下:
1、首先分别将p1.c和p2.c文件中的包含的头文件和宏定义在文件中扩展开,形成.i文件;
2、然后将p1.i和p2.i编译成汇编代码文件:p1.s和p2.s;
3、接着将汇编代码文件在转化成二进制指令文件:p1.o和p2.o;
4、最后连接过程,将两个.o文件和一些标准类库函数实现连接起来形成p.out可执行文件。
gcc的一些参数说明:
[-S] 表示编译到产生汇编代码文件为止;产生.s文件。
[-c] 表示编译到产生二进制指令文件为止;产生.o文件。
[-O + 数字] 表示优化级别,一般取2。
[-o + 文件名] 指定输出文件名,即最后编译连接后产生的可执行文件名。
注:
可以通过objdump命令来查看.o文件信息。
如objdump -d test.o就可以查看执行部分的汇编代码。
本文介绍了C编译过程,输入“gcc -O2 -o p.out p1.c p2.c”指令后,先扩展头文件和宏定义形成.i文件,再编译成汇编代码.s文件,接着转化为二进制指令.o文件,最后连接形成可执行文件。还说明了gcc的一些参数,如[-S]、[-c]等,也提到可用objdump查看.o文件信息。
5469

被折叠的 条评论
为什么被折叠?



