只是好奇。在 Ubuntu 9.10 下使用 gcc/gdb。
读一本 C 书,也经常给出目标文件的反汇编。一月份看的时候,我的拆解看起来很像书的;现在,它完全不同了——可能更优化了(我注意到现在汇编代码中有一些重新排列,至少在我检查的文件中,看起来优化了)。我在第一次和第二次读取之间使用了优化选项 -O1 - -O3 用于 gcc,但不是在第一次读取之前。
(1) 优化选项的使用是否持久,也就是说,如果你使用它们一次,你会一直使用它们直到关闭它们?那会很奇怪(浏览了 man 文件,至少没有看到任何类似的东西)。在不太可能的情况下,它是真的,你如何关闭它们?
(2) gcc 的程序集是否因最近的升级而改变?
(3) 尽管选择了相同的编译选项,gcc 是否有时会产生(显着)不同的汇编代码?
非常感谢。