4

我有兴趣查看 gcc 实际优化代码的代码。我有办法吗?

我经历过其他一些类似的问题,我尝试过以下几件事,

  1. -Wa,ahl=filename.lst :- 这个选项真的很好,可以浏览代码和对应的机器码,但是我开启O3选项就不行了。
  2. 转储优化树:- 我确信 gcc 给了我大量的调试信息。但我不知道如何破译它。如果有人能指出任何可用的信息,我会很高兴。

还有其他更好的方法来找出 gcc 优化的代码部分吗?

谢谢,马杜尔

4

2 回答 2

9

您可以编译代码两次,首先是:

$ gcc -O0 -S -o yourfile_o0.s

然后:

$ gcc -O3 -S -o yourfile_o3.s

然后你可以diff得到两个汇编文件:

$ diff -u yourfile_o0.s yourfile_o3.s
$ vim -d yourfile_o0.s yourfile_o3.s
$ emacs --eval '(ediff "yourfile_o0.s" "yourfile_o3.s")'
于 2010-10-28T11:11:44.687 回答
0

查看汇编代码或反编译已编译的应用程序。C 反编译器生成丑陋的 C 代码,但要分析生成了哪些代码,它就足够了。

于 2010-10-28T11:10:18.000 回答