gcc常用编译选项详解

时间:2021-11-20 12:43:43

gcc常用编译选项

-g : 加入调试信息

-m64 : 64位

-c : 只做预处理、编译和汇编,不链接,产生的是目标文件(.o文件)

-S : 只做预处理和编译,把文件编译成为汇编代码

-include : 某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设定,功能就相当于在代码中使用#include ,例如gcc hello.c -include /root/test.h

-I : 程序中用#include”file”的时候,gcc/g++会先在当前目录查找你所制定的头文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I指定了目录,他会先在你-I后所指定的目录查找,然后再按常规的顺序去找

-I$(PATH) : inlcude,PATH指定一个环境变量的值

-fPIC : 该选项用于生成位置无关的代码

-shared : 将-fPIC生成的位置无关的代码作为动态库,一般情况下,-fPIC和-shared都是一起使用的。生成SO文件,共享库

-static : 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行

-o : 指定程序的名字

-l : 指定so文件的名字,比如需要libcdaParser.so,就可以写成-lcdaParser,前面的lib和后面的.so可以省略

-L : 指定so文件所在的目录

-O : 编译器的优化选项,-O0表示不做优化,-O1为默认,-O3为最高优 化级别