[閒聊] 為什麼全域變數前面要加volatile

作者: TokaiTeio (東海帝王)   2023-10-30 11:31:15
其實一直不太知道加這個標頭
好像是跟執行的時候取值會不會放到暫存有關係
你們真的有遇過 沒宣告volatile
結果程式跑錯的情形嗎
作者: hdlihnk39 (hd)   2023-10-30 11:35:00
之前寫C時遇過不放有差
作者: yam276 ('_')   2023-10-30 11:58:00
寫thread flag不要用這個
作者: a9101214 (nacu)   2023-10-30 12:52:00
如果你這個變數不只你目前的程式會改, 比如說他是指到某一個hardware register, 用volatile會告訴編譯器每一次access這個變數都要實際去memory讀一次 而不是用cache裡面的值

Links booklink

Contact Us: admin [ a t ] ucptt.com