Linux下 gcc的使用

-E选项

此选项让gcc进行到预处理后停下,不主动生成文件。需要自己重定向到文件中。如若不重定向,即直接使用

gcc -E test.c

将会把 结果输出打印到屏幕上,如若想要把处理结果定向到文件中,可用定向符 >或者>>,也可带-o选项(常用)。

gcc -E test.c > test.i
//或者
gcc -E test.c -o test.i

一般把.i文件后缀表示为进行到预处理的程序文件。

-o选型

把 文件 输出到 文件 。

-S选型

此选型让gcc进行到编译后停下,生成汇编文件,主动重定向文件(处理结果不会更改原文件,所以分步编译,都需把处理结果定向到文件中,但-E选型不会主动),默认生成为(原文件名).s的后缀文件。

gcc -S test.c //默认把处理结果定向到test.s文件中
//配合-o选项,可实现自己命名效果
gcc -S test.c -o mytest.s  
//最好为test.s,这要一看就明白由哪个文件编译而来。
-c选项

此选项让gcc进行到汇编后停下,生成二进制文件,主动重定向文件,默认为(原文件名).o的后缀文件。

gcc -c test.c //默认处理结果定向到test.o
//也可用-o
gcc -c test.c -o test.o
不带选项

让gcc执行完预处理、编译、汇编、链接。生成可执行文件,主动重定向文件,默认为a.out

gcc test.c  //默认生成a.out
//可用-o命名
gcc test.c -o mytest  //生成名为mytest的可执行文件
-g选项

让gcc执行时生成调试信息,可用于gdb调试,不带此选项,将不生成调试信息。

gcc test.c -o mytest -g   //生成的可执行文件可调试
-static选项

让gcc执行程序时,链接用静态库,默认为动态库链接,带此选项,用静态库链接

gcc test.c -o mytest_static -static

注:
分步编译时,只有-E选型才可用定向符>、>>,其他分步编译不可用定向符,要命名只得带-o选项,如果用>定向符,会默认生成定向文件,并创建一个定向符后的文件,此文件内容为空。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值