關鍵字volatile的含義和作用
阿新 • • 發佈:2018-12-13
volatile的作用 一個定義為volatile的變數是說這變數可能會被意想不到地改變,這樣,編譯器就不會去假設這個變數的值了。精確地說就是,優化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在暫存器裡的備份。下面是volatile變數的幾個例子: 1). 並行裝置的硬體暫存器(如:狀態暫存器) 2). 一箇中斷服務子程式中會訪問到的非自動變數(Non-automatic variables) 3). 多執行緒應用中被幾個任務共享的變數 回答不出這個問題的人是不會被僱傭的。我認為這是區分C程式設計師和嵌入式系統程式設計師的最基本的問題。嵌入式系統程式設計師經常同硬體、中斷、RTOS等等打交道,所用這些都要求volatile