close

小的承認...

在我第一次看到這名詞的時候...

以為記憶體會揮發消失XDDD

 

好啦,這是一個命名的前置字

int  xxx → volatile int xxx

至於這有甚麼好處呢..

簡單說,

可以防止Compiler在編譯簡化記憶體的時候,做出我們不想要的事情

ex : 

B = A;

C = A;

D = A;

 

編譯器會自動處理成

B = C = D = A 

但是,當A是時變數的時候,就會出現問題了

如果在 B、C、D的宣告加上 volatile 那就可以防止這樣的問題發生

會碰到這樣的情況

大多數 是記憶體會隨時間快速變動

或者 多執行緒底下 更改到同名變數

比較容易發生這樣的狀況,

所以,要注意共用以及簡化有可能發生的Bug

否則..當Debug到瘋掉才發現這樣的問題時

你會想砍人ˊ___>ˋ

 

 

arrow
arrow
    全站熱搜

    Vincent 發表在 痞客邦 留言(0) 人氣()