volatile关键字后面跟的变量在随时都在发生变化的,编译器每次使用它的时候必须从变量地址中去读取。
volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。
防止MDK编译器优化,加上volatile关键字。
volatile关键字后面跟的变量在随时都在发生变化的,编译器每次使用它的时候必须从变量地址中去读取。
volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。
防止MDK编译器优化,加上volatile关键字。