volatile 的意义
2013-01-27 02:11
190 查看
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 可以保证可见性,但不能保证原子性。某种意义上是线程不安全的
- volatile的意义及用法
- volatile在debug和release模式下的意义
- C语言中volatile的用法及意义
- C语言关键字”volatile”的意义(或重要性)
- 嵌入式编程(以STM32为例)中的volatile,const意义及应用场景
- volatile关键字的意义和应用
- 嵌入式系统中volatile 的使用的意义(原发于2007-11-7)
- 明白volatile的意义
- (*(volatile unsigned char *)0x20)的意义(先记录下来)
- const,mutable,volatile意义与用法
- 【记录】Volatile的意义
- Volatile的意义
- 转:嵌入式编程(以STM32为例)中的volatile,const意义及应用场景
- 嵌入式系统中volatile 的使用的意义
- Volatile变量的意义,声明,设值
- 嵌入式系统中volatile 的使用的意义
- 聊聊并发(一)——深入分析Volatile的实现原理
- SVD奇异值分解的几何物理意义资料汇总
- 扩展阅读 数学对编程的重要意义 C语言计算1,2,3,...,100的总和