您的位置:首页 > 其它

gcc 编译.c文件的编译过程

2016-01-01 16:36 176 查看
gcc编译的时候可以用的参数比多,也不太好记,所以总结了一下自己的记忆方法。

1)首先gcc编译的时候会有不同种的文件生成,按照从先到后列一下

1.源文件:一般你编写的.c文件

2.预编译文件:gcc把源文件中的宏定义等展开放到预编译文件中,用.i文件来表示

3.汇编文件:gcc把.i文件进一步编译生成汇编文件,用.s文件来表示,一般自己写的汇编也是.s表示的

4.目标文件汇编器把.s文件生成.o文件

5.可执行文件:链接器把.o文件链入静态库或者别的.o文件,生成可执行文件

2)gcc命令中-o参数的说明

-o参数表示的是outfile的意思,跟在该参数后面的是你想给予的编译后的文件的名称

通过-o参数来描述gcc中其他的参数,我把他们分成三种:

1.不需要使用-o参数的

2.可用可不用的

3.一定要用的

对于第一种来说:如果想要生成.o文件,就不需要加入-o参数,因为编译器会自动生成一个.o文件

比如说:你有一个hello.c文件,通过gcc -c hello.c就可以生成一个hello.o文件

对于第二种来说:如果想要生成.s汇编文件或者是最后的可执行文件,你可以不加-o参数,因为编译器会生成
一个a.out文件,但是这样表示的文件意义不明确

比如说:你有一个hello.c文件,通过gcc hello.c生成了可执行文件a.out,通过gcc -s hello.c也会生成一个
a.out汇编文件

对于第三种来说:如果只是进行预编译,就一定要加-o参数,不然gcc -E hello.c会打屏,没有任何文件生成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: