volatile的意思是告诉编译器,在编程源代码时,对这个变量不要使用优化。 在一般的程序设计中,如: int *a; int b; b = (*a) * (*a);这种情况。 通常编译器为了减少存储器的读写时间,会把代码优化为: int *a; int b; int c; c = *a; b = c * c; 因为外部存储器的读写速度肯定赶不上内存的读写速度,这样可以省一次外部存储器的读取时间,从而提高速度。 如果把int *a改为volatile int* a编译器就不会自动把它优化掉了。在整个运算过程中,对变量*a的值读取了再次。防止因变量*a的值在这一期间发生了改变,而导致程序结果的错误。
volatile 的意义
最新推荐文章于 2021-07-27 19:19:41 发布
本文详细解释了编程中Volatile关键字的作用及其应用场景。介绍了如何通过Volatile禁止编译器优化,确保变量读取的实时性,避免多线程环境下因变量值变化导致的潜在问题。
445

被折叠的 条评论
为什么被折叠?



