volatile 作用 防止编译器优化变量 如对于下面这段行代码: int main() { int a; a = 1; a = 2; a = 3; return 0; } 编译器可能回跳过前面两句赋值,直接执行 a = 3