C语言中volatile关键词的用法
volatile指出变量是随时可能变化的
定义为volatile的变量是说这个变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的的值了。精确得讲就是优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份;
volatile使用的地方:
1、中断服务程序中修改的供其他程序检测的变量,需加volatile;
2、多任务环境下各任务间共享的标志加;
3、存储器映射的硬件寄存器通常需要加上,因为每次对寄存器的读写可能有不同的含义;