这样理解,它是一个标记,告诉编译器某个变量是易变的,每次用的时候重新读取它的值。
对于普通变量
如果这么写 int a = 1; a = 2;
编译器优化后就会只剩下a = 2;
如果加了volatile,编译后的汇编码就会既有a = 1又有 a = 2;
一般windows平台的程序较少用到,多用于嵌入式和多线程中。
这样理解,它是一个标记,告诉编译器某个变量是易变的,每次用的时候重新读取它的值。
对于普通变量
如果这么写 int a = 1; a = 2;
编译器优化后就会只剩下a = 2;
如果加了volatile,编译后的汇编码就会既有a = 1又有 a = 2;
一般windows平台的程序较少用到,多用于嵌入式和多线程中。