标签: c linux arm embedded-linux volatile
我正在为Linux环境编写ARM程序。 它不是一个低级别的程序,比如app level
你能说清楚我之间的区别吗,
int iData;
VS
volatile int iData;
它是否具有特定于硬件的影响?
答案 0 :(得分:-1)
在C中出现volatile是为了不自动缓存变量的值。它会告诉机器不要缓存此变量的值。因此,每次遇到它时,它将从主存储器中获取给定的volatile变量的值。使用此机制是因为OS可以在任何时候修改该值或任何中断。因此,使用volatile将帮助我们每次重新访问该值。
阅读Wiki和this页面以获取更多说明