volatile有什么作用

  • 状态寄存器一类的并行设备硬件寄存器。
  • 一个中断服务子程序会访问到的非自动变量。
  • 多线程间被几个任务共享的变量。

「注意」:虽然volatile在嵌入式方面应用比较多,但是在PC软件的多线程中,volatile修饰的临界变量也是非常实用的。

发表评论

后才能评论

评论(3)

  • 文峯 普通 2022-04-23 3:48 下午

    (1)并行设备的硬件寄存器(如状态寄存器)。
    (2)一个中断服务子程序中访问到的变量
    (3)多线程应用中被多个任务共享的变量。

  • mpweixin用户 普通 2022-03-07 10:50 下午

    多线程中修饰变量防止变量装入寄存器,使各线程在内存读取一致变量。

  • 永遇乐 普通 2021-09-14 2:02 下午

    易变关键字,告诉编译器不要对这个变量进行优化,也就是说,每次都要去绝对地址上取值,而不能从寄存器上取值。