GCC编译器常用命令使用

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

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

1. gcc -E sourceFile.c

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

《GCC编译器常用命令使用》

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

2. gcc –S sourceFile.c 

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

《GCC编译器常用命令使用》

3. gcc -c source_file.c

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

《GCC编译器常用命令使用》

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

4. gcc -c sourceFile.c -o outputFileName

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

-c:生成名为sourceFile.o的目标文件。(进行编译,不链接)

《GCC编译器常用命令使用》

5. gcc -g sourceFile.c 

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

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

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

《GCC编译器常用命令使用》

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的宏。

《GCC编译器常用命令使用》

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

《GCC编译器常用命令使用》

    原文作者:Hmantic
    原文地址: https://blog.csdn.net/m1223853767/article/details/79464729
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞