c语言中volatile 的用法
时间:2011-05-04 来源:泥巴潭
为什么要用volatile: 首先,编译器读取某内存地址的值,如果是连续两次读取, 而且两次中间没有对这个内存地址值改变。编译器就会直接把上次读取的值拿出来用, 所以如果这个内存地址是 寄存器 或是某 端口 值,随时都有可能改变, 那么久会出错。
当要求使用volatile修饰一个变量的时候,系统总是重新从变量所在的内存地址读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立即被保存。
相关阅读 更多 +