[闲聊] 为什么全域变量前面要加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