GCC常用编译选项

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:为可执行文件生成位置无关代码


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值