volatile 的意思是易变的、不稳定的。也许很多人根本没有见过这个关键字,或是不知道它的存在,或许有很多人知道它存在,但是从来没有使用过。其实我在做嵌入式程序以前也是不知道有这个么一个关键字的。
volatile关键字和const一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素改变,如操作系统、硬件或其他线程等。编译器在遇到访问这个关键字声明的变量的代码时就不再进行优化了,从而可以提供对特殊地址的稳定访问。