volatile的做用

volatile的做用: 做爲指令關鍵字,確保本條指令不會因編譯器的優化而省略,且要求每次直接讀值.優化

簡單地說就是防止編譯器對代碼進行優化.好比以下程序:spa

1
2
3
4
XBYTE[2]=0x55;
XBYTE[2]=0x56;
XBYTE[2]=0x57;
XBYTE[2]=0x58;

對外部硬件而言,上述四條語句分別表示不一樣的操做,會產生四種不一樣的動做,可是編譯器卻會對上述四條語句進行優化,認爲只有XBYTE[2]=0x58(即忽略前三條語句,只產生一條機器代碼)。若是鍵入volatile,則編譯器會逐一的進行編譯併產生相應的機器代碼(產生四條代碼).code

相關文章
相關標籤/搜索