挥发性关键字
Volatile keyword
可能重复:
volatile关键字有什么用?
为什么在c++中使用volatile
关键字?它的正确用途是什么?
根据的定义
volatile关键字是一个类型限定符,用于声明程序中的对象可以由操作系统、硬件或并发执行的线程等修改。
在一些例子中,它被贴花用于例如
volatile bool Isrunning;
Isrunning=true;
人们将其用于例如
if(Isrunning)
{
//some code here....
}
最后
Isrunning=false;
所以我的问题是它与bool Isrunning;
有何不同
提前谢谢。露点
唯一有效的用法是,如果您绝对需要确保变量的值永远不会保存在寄存器中,而是立即从内存中写入和读取。此外,禁止对读写进行重新排序。
这主要是内存映射硬件I/O所必需的。
请注意,C和C++中的volatile不强制执行多个线程的原子读/写语义。你对那个问题的定义是错误的。
相关文章:
- 标准::时间::d类型的挥发性对象
- 什么__asm挥发性("pause" ::: "memory");男孩
- Clang vs GCC:挥发性访问的不同代码
- C 基准测试,挥发性
- 为什么挥发性不是sig_atomic_t的一部分
- 挥发性成员变量
- 自C 11以来,挥发性在并发编程中的有用性
- C++引用挥发性对象 - 原因和影响
- 错误:“命令” /重复使用ASM挥发性之前的预期字符串字母
- 在将对象声明为挥发性时,如何在C 中超载运算符
- 关于挥发性和指标点缀
- 保持嵌套类型的挥发性
- C 挥发性的合法用例
- 为什么挥发性不使用std :: min编译
- 如何初始化具有非易失性结构的挥发性结构
- 挥发性是否充当优化的编译屏障
- 是一种基本类型的挥发性初始化,可观察到的行为
- 挥发性如何与const合作
- 拒绝挥发性RVALUE到STD :: implotial rvalue的分配是错误的
- 挥发性关键字