首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言volatile關鍵字深度理解:防止編譯器過度優化

     編輯:關於C語言

C語言volatile關鍵字深度理解:防止編譯器過度優化

核心作用

volatile告訴編譯器:該變量的值可能在程序不可控的情況下改變,每次讀取必須從內存獲取,不能優化為寄存器緩存。

為什麼需要它?

volatile int *p;   // 指向 volatile int 的指針,*p 讀取不優化
int * volatile p;  // volatile 指針,p 本身不優化(地址不變)
volatile int * volatile p; // 兩者皆 volatile

編譯器行為對比

  1. 上一篇文章:
  2. 下一篇文章:
欄目導航
Copyright © 程式碼之家 All Rights Reserved