【问题标题】:How to enable single optimisation flags in gcc?如何在 gcc 中启用单个优化标志?
【发布时间】:2012-03-30 12:38:42
【问题描述】:

使用 gcc 时,是否可以在不指定 -O 级别的情况下启用单个优化标志?

gcc -ffasst-math foo.c

gcc -O1 -ffast-math foo.c

哪一个有效? 谢谢!

【问题讨论】:

    标签: optimization gcc compilation compiler-flags


    【解决方案1】:

    是的,您可以启用单独的优化标志。

    来自 gcc 手册页的信息:

    -O

    -O 打开以下优化标志:

    -fauto-inc-dec -fcprop-registers -fdce -fdefer-pop -fdelayed-branch -fdse -fguess-branch-probability -fif-conversion2 -fif-conversion -finline-small-functions -fipa-pure- const -fipa-reference -fmerge-constants -fsplit-wide-types -ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse - ftree-fre -ftree-sra -ftree-ter -funit-at-a-time

    -O 还会在不干扰调试的机器上打开 -fomit-frame-pointer。

    -ffast-数学

    设置 -fno-math-errno、-funsafe-math-optimizations、-ffinite-math-only、-fno-rounding-math、-fno-signaling-nans 和 -fcx-limited-range。 此选项会导致定义预处理器宏“FAST_MATH”。

    任何 -O 选项都不会打开此选项,因为它可能导致程序输出不正确,这些程序依赖于数学函数的 IEEE 或 ISO 规则/规范的精确实现。但是,对于不需要这些规范保证的程序,它可能会产生更快的代码。

    【讨论】:

      猜你喜欢
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2013-05-09
      • 1970-01-01
      • 2023-03-30
      • 2010-10-30
      相关资源
      最近更新 更多