Volatile关键字

1、易变性。所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。

  在中断函数中的使用的变量,一定要加上volatile关键字修饰,这样在主函数每次读取flag的值都是在其内存中读取的,读取的是改变的数据。

  要共享标志,又不想让编译器优化了这一点,需要加上该修饰词

  存储器映射的硬件寄存器通常也要加voliate,因为每次对它的读写都可能有不同意义

2、“不可优化”特性。volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,保证程序员写在代码中的指令,一定会被执行。

3、顺序性

http://www.cnblogs.com/god-of-death/p/7852394.html

posted @ 2019-04-22 16:29  geekj  阅读(167)  评论(0编辑  收藏  举报