volatile是指易改变的。用他修饰的变量表明该变量是易发生改变的变量,每当优化器访问该变量时,都会重新读取该变量的值,而不是直接去找寄存器中找该变量的备份。
例子:
1、并发的硬件寄存器,如状态寄存器。
2、中断服务器的子程序访问的非自动变量。
3、多线程中被多个任务共享的变量。
volatile是指易改变的。用他修饰的变量表明该变量是易发生改变的变量,每当优化器访问该变量时,都会重新读取该变量的值,而不是直接去找寄存器中找该变量的备份。
例子:
1、并发的硬件寄存器,如状态寄存器。
2、中断服务器的子程序访问的非自动变量。
3、多线程中被多个任务共享的变量。