GCC编译器常用命令使用

在shell上通过man gcc命令可以查看manpage文档。

自己根据平时所学分享一些常用的命令使用,请大家批评指正!

1. gcc -E sourceFile.c

-E,只预编译。直接输出预编译结果。


-E参数,进行预编译时,将输出信息,将程序所包含的头文件,函数,宏定义等,进行扩展。


2. gcc -S sourceFile.c 

-S,只执行到源代码到汇编代码的转换,输出汇编代码。


3. gcc -c source_file.c
-c,只执行到编译,输出目标文件。

汇编知识将在以后的博客推出。


4. gcc -c sourceFile.c -o outputFileName

-o, 指定输出文件名 该参数可以省略。默认下(gcc sourceFile.c):生成名为a.out的可执行文件。
-c:生成名为sourceFile.o的目标文件。(进行编译,不链接)



5. gcc -g sourceFile.c 

-g,生成供调试用的可执行文件,可以在gdb中运行。

用strip命令重新将debug信息清除。这是会发现生成的文件比正常编译的输出小。

这是因为strip把原先正常编译中的一些额外信息(如函数名之类)去除。



6. gcc -s sourceFile.c

-s效果与strip相同。


7. gcc -O source_file.c

-O(大写的字母O),编译器对代码进行自动优化编译,输出效率更高的可执行文件。
-O 后面还可以跟上数字指定优化级别,如:
gcc -O2 source_file.c
一般可选择2;3会有一定风险。(这里不做演示)


8. gcc -Wall source_file.c

-W,在编译中开启一些额外的警告(warning)信息。-Wall,打开所有的警告信息。


9. gcc source_file.c -L/XXX/lib -llibXXX.a -I/XXX/include

-l, 指定所使用到的函数库,链接器将链接名为libxxx.a(后缀.a表示静态库)的函数库。
-L,指定函数库所在的文件夹,链接器会搜索/XXX/lib(一般可以指定路径)文件夹。

-I, 指定头文件所在的文件夹,预编译器会搜索/XXX/include文件夹。

10.gcc -D MAX_SIZE=value sourceFile.c 

预定义名为MAX_SIZE ,值为value的宏。


若不指定MAX_SIZE的值,默认为1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值