volatile为何要修饰中断里的变量

共有四种状况:程序员 就下面这三种状况,还有利用for循环去延时的程序防止被优化(编译器认为for循环没用而优化掉),没有其它了,若是是这几种,那就干脆直接用volatile修饰:面试 一个是防止变量在其它地方被改变,而cash里没有改变,因此要求每次都要读取内存。多线程 一个是防止编译器优化,编译器感受你这个变量不会有变化,可是实际在其它线程或硬件会改变它,因此要每次从内存读,你编译器就不要优化
相关文章
相关标签/搜索