gpt4 book ai didi

c - volatile 和编译器优化

转载 作者:太空狗 更新时间:2023-10-29 15:14:07 25 4
gpt4 key购买 nike

如果关闭编译器优化,即 (gcc -o0 ....),可以说“volatile”关键字没有区别吗?

我已经制作了一些示例“C”程序,并且仅在打开编译器优化时才在生成的汇编代码中看到 volatile 和非 volatile 之间的区别,即((gcc -o1 ....)。

最佳答案

不,这样的说法是没有依据的。

volatile 具有标准中阐明的特定语义。您断言 gcc -O0 始终生成代码,使每个变量(无论是否为 volatile)都符合这些语义。这不能保证;即使它恰好是特定程序和特定版本的 gcc 的情况,它也可能会在例如升级编译器时发生变化。

关于c - volatile 和编译器优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com