c - 如何在C中进行优化。如果我将优化级别设置为none(-0),是否需要 volatile 关键字

标签 c optimization volatile

我不明白一件简单的事情,如果我们将优化级别设置为无(意味着不优化)那么是否有必要在C中使用 volatile 关键字。

最佳答案

关闭优化并不意味着损坏的代码将开始工作。任何需要在优化打开时保持 volatile 的东西都必须在优化关闭时保持 volatile 。例如,如果没有 volatile 修饰符,对变量的访问可能会缓存在寄存器中,而不是与它应该连接的任何内容正确连接。

关于c - 如何在C中进行优化。如果我将优化级别设置为none(-0),是否需要 volatile 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23076261/

相关文章:

optimization - Julia 中最小二乘坐标下降算法不收敛

Java 内存模型保证 volatile

使用 *(int*)NULL = 1 使线程崩溃;有问题?

java - 需要有关实现的 java 代码中的 volatile 和非 volatile 概念的帮助吗?

c - 在 PowerPc 上解码这个程序集内联代码片段

c++ - 为什么我的 C++ 编译器不优化这些内存写入?

你能在函数中返回一个指向指针的指针类型吗?

swift - RxSwift 优化触发器

CGI-- 临时文件

c - make 找不到 make 目标的规则(手动生成 makefile 的新手)