如何使用gcc最大化优化?

时间:2015-05-30 08:44:16

标签: gcc optimization compiler-optimization

我使用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只有一次才是最佳优化方式?

由于

1 个答案:

答案 0 :(得分:1)

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

所以是的,当将C源变为目标文件时,-O3应该只使用一次。