1.1volitile关键字
作用:防止编译器对变量优化。
Int a,b,c;
a = b;
c = b;
(1)CPU在执行上述程序时,首先在b的地址取出b的值,将该值存放在寄存器中,然后将值传递给a。执行c = b时,cpu不会再次从b的地址取值,而是直接将寄存器中b的值传递给c;
Volatile Int a,b,c;
a = b;
c = b;
(2)CPU在执行第二条语句(c = b)时,会再次从b的地址取值传递给c,而不是和(1)中一样,直接将寄存器中b地址的值传给c。
用处:
并行设备的硬件寄存器。
中断服务程序中修改其他c程序的变量。
多线程模式下被多个任务共享的变量。