2011年3月7日

[C] keyword : volatile

有些編譯器會自行最佳化,把變數額外放到不同的ram or kernel register加速存取


如果這時有外部程式(EX : asmbelly)更動變數值,而編譯器仍然不去原本的地方抓值

這樣就會使抓到錯誤的東西啦

所以在會遇到這種情況的環境(like 單晶片)時,通常都會使用

詳情
http://blog.csdn.net/c_bg44/archive/2007/03/23/1538235.aspx

沒有留言:

張貼留言