c語(yǔ)言volatile的作用 c語(yǔ)言volatile是什么意思?
c語(yǔ)言volatile是什么意思?volatile的原意是通常有兩種語(yǔ)句。1. "瞬變2.“多變。這兩種說(shuō)法都是可行的。定義為volatile的變量意味著該變量可能會(huì)意外更改,因此編譯器不會(huì)假定該變量
c語(yǔ)言volatile是什么意思?
volatile的原意是通常有兩種語(yǔ)句。
1. "瞬變
2.“多變。這兩種說(shuō)法都是可行的。定義為volatile的變量意味著該變量可能會(huì)意外更改,因此編譯器不會(huì)假定該變量的值。在使用這個(gè)變量時(shí),優(yōu)化器每次都必須小心地重新讀取變量的值,而不是使用存儲(chǔ)在寄存器中的備份。
C語(yǔ)言中volatile修飾符的作用是什么?
Volatile告訴編譯器每次使用變量時(shí)都要從內(nèi)存中重新讀取它。例如:?jiǎn)纹瑱C(jī)中寄存器的定義通常需要用volatile修改,因?yàn)榧拇嫫鞯闹禃?huì)被硬件修改。還有一些全局變量可以被中斷服務(wù)程序修改。例如,如果a=1b=a未定義為volatile,編譯器通常會(huì)將其優(yōu)化為a=1b=1。如果中斷服務(wù)程序在執(zhí)行第一句話之后將a改為2,那么優(yōu)化程序中B的值不會(huì)改變,這不是我們想要的。在a的語(yǔ)句中添加volatile可以解決這個(gè)問(wèn)題。