Volatile关键字
1、易变性。所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。
在中断函数中的使用的变量,一定要加上volatile关键字修饰,这样在主函数每次读取flag的值都是在其内存中读取的,读取的是改变的数据。
要共享标志,又不想让编译器优化了这一点,需要加上该修饰词
存储器映射的硬件寄存器通常也要加voliate,因为每次对它的读写都可能有不同意义
2、“不可优化”特性。volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,保证程序员写在代码中的指令,一定会被执行。
3、顺序性
http://www.cnblogs.com/god-of-death/p/7852394.html