c++的volatile关键字有什么作用 防止编译器过度优化【底层开发】

admin 百科 15
volatile用于防止编译器优化对可能被外部改变的变量的读写,解决硬件寄存器、无同步多线程共享变量、信号处理函数修改全局变量三类问题;它不保证原子性、内存可见性或禁止CPU重排,非线程安全,应优先使用std::atomic。

c++的volatile关键字有什么作用 防止编译器过度优化【底层开发】-第1张图片-佛山资讯网

volatile 告诉编译器:这个变量的值可能在程序“看不见”的地方被改变,别擅自优化对它的读写。

标签: c++ 同步机制 底层开发

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~