volatile
是一種型別修飾符,提醒編譯器它定義的變數隨時都有可能改變,因此編譯后的程式每次需要存盤或讀取這個變數的時候,都會直接從變數地址中(記憶體中)讀取資料,如果沒有volatile關鍵字,則編譯器可能優化讀取和存盤,可能暫時使用暫存器(快取)中的值,如果這個變數由別的程式更新,將出現不一致,
volatile關鍵字的使用:
1:中斷服務程式中修改的供其它程式檢測的變數需要添加volatile關鍵字,
2:多任務環境下幾個任務間共享的標志應該加volatile關鍵字,
3:存盤器映射的硬體暫存器通常也要加volatile說明,因為每次對它的讀寫可能不同,
volatile int a = 5;
總結:需要讀取記憶體中最新的狀態而不是快取中狀態時使用volatile
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27328.html
標籤:C
上一篇:MCP3421使用詳解
