GCC编译器常用命令使用

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

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

1. gcc -E sourceFile.c

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

GCC编译器常用命令使用_第1张图片

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


2. gcc -S sourceFile.c 

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


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

GCC编译器常用命令使用_第2张图片

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


4. gcc -c sourceFile.c -o outputFileName

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


GCC编译器常用命令使用_第3张图片

5. gcc -g sourceFile.c 

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

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

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


GCC编译器常用命令使用_第4张图片

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编译器常用命令使用_第5张图片

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

GCC编译器常用命令使用_第6张图片

你可能感兴趣的:(C语言)