volatile关键字
https://blog.csdn.net/u010879456/article/details/53705089
volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执行码会重新从i的地址读取数据放在k中。
下面是volatile变量的几个例子:
-
并行设备的硬件寄存器(如:状态寄存器)
-
一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
-
多线程应用中被几个任务共享的变量