相关疑难解决方法(0)

什么样的优化在C++中"易失"?

我正在查找关键字volatile以及它的用途,我得到的答案非常多:

它用于防止编译器优化代码.

有一些示例,例如轮询内存映射硬件时:没有volatile轮询循环将被删除,因为编译器可能会识别出条件值永远不会更改.但由于只有一个例子或两个例子,它让我思考:volatile在避免不必要的优化方面我们还需要使用其他情况吗?条件变量是唯一volatile需要的地方吗?

我认为优化是特定于编译器的,因此未在C++规范中指定.这是否意味着我们必须通过直觉,说嗯,我怀疑如果我没有声明该变量volatile或者是否有任何明确的规则,我的编译器将废除它

c++ optimization volatile

25
推荐指数
3
解决办法
8600
查看次数

顺序一致性和原子性之间有什么区别?

我读到java volatile是顺序一致但不是原子的.对于atomicity java提供了不同的库.

有人可以用简单的英语解释两者之间的差异吗?

(我相信问题范围包括C/C++,因此添加这些语言标签以吸引更多的观众.)

c++ java atomic volatile

8
推荐指数
2
解决办法
855
查看次数

标签 统计

c++ ×2

volatile ×2

atomic ×1

java ×1

optimization ×1