Gcc 命令大全

gcc这条命令用来将源代码生成可执行程序,下面来看一下gcc的常用选项。 1、无选项编译链接 例:命令:gcc test.c //会默认生成a.out可执行程序 2、-E: 进行预处理和编译,生成汇编文件。 命令:gcc -E test.c //会生成test.i文件 3、-S: 进行预处理,编译,汇编等步骤,生成“.s”文件 例:命令:gcc -S test.c //会生成test.s文件 4、-c: 会直接生成二进制目标文件 例:命令:gcc -c test.c //会生成test.o文件 5、-o :对生成的目标进行重命名 例:命令:gcc -o test test.c //会生成名字是test可执行文件而不是默认的a.out 6、-pipe: 使用管道代替编译中的临时文件 例:命令:gcc -pipe -o test test.c 7、-include file :包含某个代码。相当于在文件中加入#include 例:gcc test.c -include /root/file.h 8、-Idir:当你使用#include”file”的时候,会先到你定制的目录里面查找 9、-I-:取消前一个参数的功能。一般在-Idir之后使用 10、-C:在预处理的时候不删除注释信息,一般和-E使用。 11、-M:生成文件关联信息。包含目标文件所依赖的所有源代码。 12、-MM:和-M一样,只不过忽略由#include所造成的依赖关系。 13、-MD:和-M相同,只不过将输出导入到”.d”文件里面 14、-MMD:和-MM相同,将输出导入到”.d”文件里面。 15、-llibrary:定制编译的时候使用的库 例:gcc -lpthread test.c //在编译的时候要依赖pthread这个库 16、-Ldir:定制编译的时候搜索库的路径。如果是自己定制的库,可以用它来定制搜索目录,否则编译器只在标准库目录里面找,dir就是目录的名字 17、-O0(字母o和数字0):没有优化 -O1:-O1位缺省值 -O2:二级优化 -O3:最高级优化 级别越大优化越好,但编译时间边长。 18、-g:在编译的时候假如debug调试信息,用于gdb调试 19、-share:此选项尽量的使用动态库,所以生成文件比较小,但是必须是系统有动态库。 20、-shared:生成共享目标文件,通常用在建立共享库。 21、-static:链接时使用静态链接,但是要保证系统中有静态库。 22、-w:不生成任何警告信息 22、-Wall:生成所有警告信息
原文地址:https://www.cnblogs.com/lph970417/p/10781092.html