作者archiee (life is struggle)
看板C_and_CPP
标题Re: [问题] volatile 用法
时间Sat Dec 24 09:24:06 2016
※ 引述《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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.224.38.74
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1482542648.A.5F4.html