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

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会打屏,没有任何文件生成

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值