現在時間

2010年8月16日 星期一

C 語言的變數修飾詞 volatile

有時會看到在宣告 C 的變數時, 會前面會加個 volatile 的修飾詞,

volatile near unsigned char TxActivity;<br />volatile near unsigned char RxHeadIndex,RxTailIndex,RxErrors,CharRCVed,UARTActivityCountdown;<br />



網路上找到的說明如下:




我的解讀大概就是: 告訴編譯器, 這個變數不要做最佳化, 每次存取時你都給我老老實實的做, 不要給我偷懶! 
但為何 RxHeadIndex, RxTailIndex… 這些都要被宣告成這類的型態, 它們若不加這種修飾詞會錯嗎?

沒有留言: