繁体   English   中英

gcc /优化标记gcc / C的持久性更改

[英]Changes in gcc/persistence of optimization flags gcc/C

只是好奇。 在Ubuntu 9.10下使用gcc / gdb。

读一本C书也常常会反汇编目标文件。 一月份阅读时,我的拆卸看起来很像这本书。 现在,它已经完全不同了-可能已经进行了优化(我注意到汇编代码中的一些重新安排,至少在我检查的文件中,看起来是优化的)。 我在第一次和第二次读取之间使用了优化选项-O1--O3作为gcc,但没有在第一次读取之前。

(1)优化选项的使用是否持久化(如果您一次使用它们,直到关闭它们之前都将使用它们)? 那会很奇怪(浏览过的man文件,至少看不到那种东西)。 在不太可能的情况下,您该如何关闭它们?

(2)gcc的程序集是否通过最近的升级进行了更改?

(3)尽管选择了相同的编译选项,gcc有时还是会产生(大量)不同的汇编代码吗?

非常感谢。

1)不,选项不会持续存在。

2)是的,优化器一直在不断变化和改进。 如果您的gcc软件包已升级,则为特定源文件生成的程序集很可能会更改。

3)使用gcc进行编译是确定性的过程; 如果使用相同版本的gcc和相同的目标使用相同的选项编译相同的源,则生成的程序集应该相同(以一些符号名称为模)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM