gcc -O0优化

GCC默认优化等级为-O0,侧重于调试友好,允许语句独立以便于中断和变量赋值。-O0时优化最少,而-Og优化调试,-Ofast追求速度,-Os优化空间。优化级别可通过-O设置,不同级别启用不同优化集合。-Q--help=optimizer可查看具体启用的优化。
摘要由CSDN通过智能技术生成

        gcc 默认的优化等级是 -O0,在 -O0 条件下也是有极少量的优化的。

        在没有任何优化选项的情况下,编译器的目标是降低编译成本,并使调试产生预期的结果。语句是独立的:如果您在语句之间使用断点停止程序,那么您可以为任何变量分配一个新值,或者将程序计数器更改为函数中的任何其他语句,从而从源代码中获得期望的结果。


        打开优化标志使编译器试图以牺牲编译时间和可能的调试程序的能力为代价来提高性能和/或代码大小。


        编译器根据它所掌握的程序知识进行优化。一次将多个文件编译为单个输出文件模式允许编译器在编译每个文件时使用从所有文件中获得的信息。


        并非所有优化都直接由标志控制。本节仅列出具有标志的优化。


        大多数优化在-O0时被完全禁用,或者如果在命令行上没有设置-O级别,即使指定了单独的优化标志。类似地,-Og抑制了许多优化过程。


        根据目标和GCC的配置方式,可以在每个-O级别启用一组与此处列出的稍有不同的优化。您可以使用-Q--help=optimizer调用GCC,以找出在每个级别启用的优化的确切集合。有关示例,请参见控制输出类型的选项。

-O<number>将优化级别设置为<number>。

-Ofast针对速度进行优化,无视严格的标准合规性。

-Og优化调试体验,而不是速度或大小。

-Os优化空间而非速度。

/*
 * O0 的描述如下:   
 */
    减少编译时间,使调试产生预期的结果。

    -O0 做的优化非常非常少。

gcc --help=optimizers
gcc -Q --help=optimizers

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值