gcc编译选项:
-I:指定头文件路径;如 gcc -I./include
-D:定义一个宏;如 gcc -DHAVE_CONFIG_H,定义宏HAVE_CONFIG_H
-Wall:开启所有错误提示,可理解为warinig all
-g:编译过程中保留调试信息,以便gdb能够调试
-O2:指定编译优化等级为2,optimization
-pipe:指定编译过程中不同阶段的通信使用pipe管道(有些编译器无法读取管道,目前GNU编译器是ok的)
-Wp,-D_FORTIFY_SOURCE=2:将逗号分隔的选项传递给预处理器,其中FORTIFY_SOURCE选项用于指定在编译时检查缓冲区溢出的等级
-fexceptions:启用异常处理,会产生额外的代码用于处理异常,会占用一定量的数据空间(gcc默认为C++打开该选项,为C关闭该选项)
-fstack-protector:开启栈保护检测,防止缓冲区异常
–param=ssp-buffer-size=4:–param用于控制一些用于优化的常量,比如内联函数的指令数量限制等,
ssp-buffer-size用于控制预防堆栈溢出的缓冲区的下限值,和-fstack-protector选项一同使用
-m64:指定生成64位的x86-64架构代码
-mtune=generic:为指定的CPU架构优化代码
-fPIC:生成位置无关的代码,适用于动态链接
-fPIE:为可执行文件生成位置无关代码
————————————————
版权声明:本文为CSDN博主「Blue summer」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010039418/article/details/80455368
gcc编译选项
最新推荐文章于 2024-08-22 20:06:39 发布