C++中的volatile有什么用?
volatile在C++中的主要特性:禁止编译器优化,从而在每次访问时都必须从内存读取/写入。
除此之外,还有两点值得注意:
- 对于没有volatile修饰的代码,某些高版本gcc上使用O2优化等级编译时可能会直接把主线程的死循环给消除掉,实际运行起来也能正常退出,但这个退出和我们预期的退出又不一样。
- 当在不同版本的gcc上用O0优化等级去编译时,情况可能又不一样。
原文链接:C++中的volatile有什么用
volatile在C++中的主要特性:禁止编译器优化,从而在每次访问时都必须从内存读取/写入。
除此之外,还有两点值得注意:
原文链接:C++中的volatile有什么用