volatile和__volatile__是什么意思?
a. volatile是C语言定义的关键字,gcc为了需要又定义了__volatile__,它和
volatile表达的是同一意思。
b. volatile的本意是"易变的",由于访问寄存器的速度快于访存,所以编译器一般
都会作优化以减少访存。如果变量加上volatile修饰,则编译器就不会对此变量
的读写操作进行优化,即不通过寄存器缓冲而直接访存。
c. __asm__ __volatile__一起指示编译器不要改动优化后面的汇编语句。
reference:http://www.linuxdiyf.com/viewarticle.php?id=353