volatile是C中的关键字,一般在嵌入式中用的比较多,其用来解决变量在“共享”环境下容易出现读取错误的问题。若变量被定义为volatile,则代表着该变量可能会被意想不到的改变,即在程序运行过程中一直变,这个值每次被处理时,都要从内存中读取该值,而不会因编译器优化从缓存的地方读取(比如说读取缓存在寄存器中的数值),从而保证volatile变量被正确读取。先看下面的代码:
int main() {
const int x = 5;
int *p = (int*)
volatile是C中的关键字,一般在嵌入式中用的比较多,其用来解决变量在“共享”环境下容易出现读取错误的问题。若变量被定义为volatile,则代表着该变量可能会被意想不到的改变,即在程序运行过程中一直变,这个值每次被处理时,都要从内存中读取该值,而不会因编译器优化从缓存的地方读取(比如说读取缓存在寄存器中的数值),从而保证volatile变量被正确读取。先看下面的代码:
int main() {
const int x = 5;
int *p = (int*)