在C語(yǔ)言中,volatile
關(guān)鍵字用于告訴編譯器,所修飾的變量可能會(huì)在程序的執(zhí)行過(guò)程中被意外修改,因此編譯器在優(yōu)化代碼時(shí)應(yīng)該避免對(duì)這些變量的優(yōu)化操作,即每次訪(fǎng)問(wèn)這些變量時(shí)都應(yīng)該從內(nèi)存中讀取,而不是從寄存器中獲取。這樣可以確保程序在多線(xiàn)程或中斷處理等情況下,不會(huì)出現(xiàn)預(yù)期之外的行為。volatile
關(guān)鍵字通常用于修飾硬件寄存器、多線(xiàn)程共享的變量或者中斷處理函數(shù)中的變量。