Linux环境下C和Cpp的易失性

时间:2013-04-10 05:28:51

标签: c linux arm embedded-linux volatile

我正在为Linux环境编写ARM程序。 它不是一个低级别的程序,比如app level

你能说清楚我之间的区别吗,

int iData;

VS

volatile int iData;

它是否具有特定于硬件的影响?

1 个答案:

答案 0 :(得分:-1)

在C中出现volatile是为了不自动缓存变量的值。它会告诉机器不要缓存此变量的值。因此,每次遇到它时,它将从主存储器中获取给定的volatile变量的值。使用此机制是因为OS可以在任何时候修改该值或任何中断。因此,使用volatile将帮助我们每次重新访问该值。

阅读Wikithis页面以获取更多说明