※ 引述《caxz ( )》之铭言:
: 今天被问到的一个问题
: 假设在main 中有如此宣告
: main()
: {
: volatile int i ;
: int j;
: i=1;
: i=2;
: j=1;
: j=2;
: }
: 请问两整数变量i j 有何不同
: 这要如何解释呢??
: 感谢赐教
volatile 挥发, 可变性
顾名思义 宣告 volatile int i, 表示i 可能会遭遇到非程式以外的变化
multithreads 共用shared memory..
比如硬件中断 常见如 I/O /bus 而使i 需要"被立即更新"..
至于应用 我目前常用的就是 强制从 MMIO 读某些IO 状态
或者 multi-threads 常用的shared memory..
这块内存会因为compiler optimize 而fail