【问题标题】:How can I maximize optimization using gcc?如何使用 gcc 最大化优化?
【发布时间】:2015-05-30 08:44:15
【问题描述】:

我用 C 语言做了一个简单的快速排序算法,命名为 test.c 我正在尝试最大化优化,所以我使用 -O3 选项,如下所示。

gcc -S -O3 -o test.s test.c
gcc -S -O3 -o test1.s test.s
gcc -S -O3 -o test2.s test1.s
gcc -S -O3 -o test3.s test2.s
.
.
.

但是奇怪的事情发生了。我执行上述程序的次数越多,获得的线路组装次数就越多。

我不知道为什么会发生这种情况,因为我认为我必须获得更优化的汇编文件,该汇编文件的行数更少,就像我在上面的过程中所做的那样。

如果这不是正确的方式,只使用一次 -O3 是最佳优化方式吗?

谢谢

【问题讨论】:

  • GCC 的哪个版本?当源代码已经在程序集中时,我的 GCC 4.9.2 根本不会创建新的程序集文件...

标签: gcc optimization compiler-optimization


【解决方案1】:

大多数 gcc 优化都是在中间语言中的 C 源代码表示上进行的。除了 peephole 之外,我不知道任何专门在汇编指令级别运行的优化。但这也将包含在-O3 中。

所以是的,-O3 在将 C 源代码转换为目标文件时应该只使用一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 2016-09-15
    • 2015-09-22
    • 2018-04-16
    • 2020-12-05
    • 1970-01-01
    相关资源
    最近更新 更多