查看: 224|回复: 2

[经验] volatile的使用

[复制链接]

49

主题

1

好友

1099

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    开心
    前天 11:02
  • 签到天数: 117 天

    [LV.6]常住居民II

    发表于 2016-10-1 09:02:53 |显示全部楼层
    一般说来,volatile用在如下的几个地方:
    1、中断服务程序中修改的供其它程序检测的变量需要加volatile;
    2、多任务环境下各任务间共享的标志应该加volatile;
    3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能有不同意义;
    另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实现,2 中可以禁止任务调度,3中则只能依靠硬件的良好设计了。

    回复

    使用道具 举报

    1

    主题

    1

    好友

    2683

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 23:06
  • 签到天数: 645 天

    [LV.9]以坛为家II

    发表于 2016-10-1 22:38:56 |显示全部楼层
    学习和参考了
    回复

    使用道具 举报

    14

    主题

    0

    好友

    3198

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 804 天

    [LV.10]以坛为家III

    发表于 2016-10-4 21:32:39 |显示全部楼层
    谢谢分享!!!!!!!!!!!!!!!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-9 13:47 , Processed in 0.210378 second(s), 10 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部