因为C编译器的优化作用以及操作系统的cache等的影响,某些变量的值在内存中和寄存器中是不一致的。这对单指令流程序没有影响,但对有中断处理函数、多线程应用等而言,会造成混乱。因此,C里提供了volatile修饰符强制要求该变量必须从内存访问,也就是告诉编译器该变量可能在任何时候被修改。
volatile变量
最新推荐文章于 2021-05-18 23:48:45 发布
因为C编译器的优化作用以及操作系统的cache等的影响,某些变量的值在内存中和寄存器中是不一致的。这对单指令流程序没有影响,但对有中断处理函数、多线程应用等而言,会造成混乱。因此,C里提供了volatile修饰符强制要求该变量必须从内存访问,也就是告诉编译器该变量可能在任何时候被修改。