Volatile變量

    一個變量聲明爲volatile變量,說明這個變量是易變的,這樣系統就會每次都從它所在的內存中讀取該變量的值,即使前面剛剛已經讀取過該變量的值,即不會使用保存在寄存器的備份。遇到這個關鍵字的聲明的變量,編譯器對訪問該變量的代碼不會優化,提供穩定的訪問。

    volatile變量的使用例子:並行的設備的硬件寄存器;一箇中斷服務子程序中會訪問的非自動變量;多線程應用中被幾個任務共享的變量。

問題1:一個參數既可以是const還可以是volatile嗎?

這個是可以的,只讀狀態寄存器就是一個典型例子,它爲volatile是因爲它可能被意想不到地改變,它爲const是因爲程序不應該試圖去修改它。

問題2:一個指針可以是volatile嗎?

這個也是可以的,當一箇中斷服務子程序修改一個指向一個buffer的指針時。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章