你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4742|回复: 97

【3.30签到】每日问答——关键字volatile有什么含意?

   关闭 [复制链接]
回帖奖励 103 ST金币 回复本帖可获得 1 ST金币奖励! 每人限 1 次

315

主题

253

回帖

0

蝴蝶豆

论坛元老

最后登录
2017-12-7
发表于 2016-3-30 08:47:01 | 显示全部楼层 |阅读模式
29日问题答案
问:关键字const有什么含意?
答:1)表示常量不可以修改的变量。
      2)可以修饰参数,作为输入参数.
      3)修饰函数,防止以外的改动.
      4)修饰类的成员函数,不改变类中的数据成员.

------------------------------------------------------------------------------------------------------------
今日问题
问:关键字volatile有什么含意?

-------------------------------------------------------------------------------------------------------------
回复

使用道具 举报

5

主题

115

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-2-12
发表于 2016-3-30 08:56:54 | 显示全部楼层

回帖奖励 +1 ST金币

一般说来,volatile用在如下的几个地方:

1、中断服务程序中修改的供其它程序检测的变量需要加volatile;

2、多任务环境下各任务间共享的标志应该加volatile;

3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义;

另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实
现,2中可以禁止任务调度,3中则只能依靠硬件的良好设计了。
回复 支持 1 反对 0

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2016-3-30 08:48:36 | 显示全部楼层

回帖奖励 +1 ST金币

                        
回复 支持 反对

使用道具 举报

2

主题

124

回帖

0

蝴蝶豆

高级会员

最后登录
2019-11-6
发表于 2016-3-30 08:50:01 | 显示全部楼层

回帖奖励 +1 ST金币

定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了
回复 支持 反对

使用道具 举报

14

主题

613

回帖

11

蝴蝶豆

金牌会员

最后登录
2020-12-8
发表于 2016-3-30 08:50:07 | 显示全部楼层

回帖奖励 +1 ST金币

回复 支持 反对

使用道具 举报

1

主题

1065

回帖

1

蝴蝶豆

金牌会员

最后登录
2020-11-9
发表于 2016-3-30 08:51:35 | 显示全部楼层

回帖奖励 +1 ST金币

回复 支持 反对

使用道具 举报

8

主题

972

回帖

45

蝴蝶豆

金牌会员

最后登录
2020-10-1
发表于 2016-3-30 08:52:28 | 显示全部楼层

回帖奖励 +1 ST金币

签到              
回复 支持 反对

使用道具 举报

1

主题

32

回帖

3

蝴蝶豆

中级会员

最后登录
2020-12-4
发表于 2016-3-30 08:53:32 | 显示全部楼层

回帖奖励 +1 ST金币

volatile 是直接寄存器读取值的意思,防止在编译过程中编译器对其进行自动优化。
比如
int a;
a = 5;
a=6;
a=7;

这三行语句执行完a的值为7. 但是编译器可能会自动省略a=5 a=6这两句。

如果是 volatile int a;
a = 5;
a=6;
a=7;
这三行语句执行完a的值为7. 但是编译器不会会自动省a=5  a=6这两句。

同理 如果是读取IO电平,系统每次都会读取IO输入寄存器。不会为了效率而进行优化
回复 支持 反对

使用道具 举报

77

主题

1927

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-11-18
发表于 2016-3-30 08:54:54 | 显示全部楼层

回帖奖励 +1 ST金币

回复 支持 反对

使用道具 举报

11

主题

583

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2016-3-30 08:57:38 | 显示全部楼层

回帖奖励 +1 ST金币

签到签到~~~
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版