volatile是一种限定词,在声明时与变量一起使用。它指示编译器关闭优化,该变量的值可以随时更改,而无需执行程序执行任何操作。
编译器如何在Volatile限定词上进行优化- 每当在程序中执行变量时,编译器都会从内存中读取该变量的值。但是有时出于优化目的,编译器会将当前使用的变量的值存储在任何未使用的寄存器中。现在,当该变量下次在程序中执行时,编译器发现该程序未更改该变量的值,便从寄存器而不是存储器中读取该值。该过程节省了时间,因为访问寄存器的速度比访问存储器的速度快。
句法 声明volatile变量: volatile int var;
int volatile var; 声明指向volatile变量的指针 volatile int * ptr;
int volatile * ptr;
|