volatile 作用
volatile 声明全局变量。
考虑一个中断函数和一个main函数,共享全局变量g。
中断程序更新g,main函数周期性读g。
对优化编译器来讲,main中的g 看起来没有变化过,因此使用缓冲在寄存器中g的副本来满足对g的每次引用是安全的。
如果这样,main函数可能无法看到处理程序更新过的值。
volatile 声明全局变量。
考虑一个中断函数和一个main函数,共享全局变量g。
中断程序更新g,main函数周期性读g。
对优化编译器来讲,main中的g 看起来没有变化过,因此使用缓冲在寄存器中g的副本来满足对g的每次引用是安全的。
如果这样,main函数可能无法看到处理程序更新过的值。