作者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/m.aspx?n=bbs/C_and_CPP/M.1482542648.A.5F4.html