volatile unsigned int 什么意思
加volatile是什么意思,什么情况下加
这个多是嵌入式编程时可能会用到。
volatile的意思是告诉编译器,在编程源代码时,对这个变量不要使用优化。
在一般的程序设计中,如:
int *a; int b;
b = (*a) * (*a);这种情况。
通常编译器为了减少存储器的读写时间,会把代码优化为:
int *a; int b; int c;
c = *a;
b = c * c;
因为外部存储器的读写速度肯定赶不上内存的读写速度,这样可以省一次外部存储器的读取时间,从而提高速度。
如果把int a改为volatile int a编译器就不会自动把它优化掉了。在整个运算过程中,对变量a的值读取了再次。防止因变量a的值在这一期间发生了改变,而导致程序结果的错误。
————————————————
版权声明:本文为CSDN博主「木木总裁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ll148305879/article/details/92618018