volatile的作用是:作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。简单地说就是防止编译器对代码进行优化。下面是volatile变量的几个例子:
1)并行设备的硬件寄存器(如:状态寄存器);
2)一个中断服务子程序中会访问到的非自动变量(Non-automatic variables);
3)多线程应用中被几个任务共享的变量。
volatile的作用是:作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。简单地说就是防止编译器对代码进行优化。下面是volatile变量的几个例子:
1)并行设备的硬件寄存器(如:状态寄存器);
2)一个中断服务子程序中会访问到的非自动变量(Non-automatic variables);
3)多线程应用中被几个任务共享的变量。
举报