首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
volatile类型在以下哪些情况下需要使用?()
[不定项选择题]
volatile类型在以下哪些情况下需要使用()
外部中断会改变变量
外部任务会改变变量
变量使用的是动态申请的内存空间
对硬件寄存器进行操作
查看正确选项
添加笔记
求解答(13)
邀请回答
收藏(1063)
分享
5个回答
添加回答
59
God~Like
以下是几个用到volatile关键字修饰变量的情况:
设备的硬件寄存器(如:状态寄存器)
一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
多线程应用中被几个任务共享的变量
发表于 2019-07-24 20:24:18
回复(0)
6
每日十题
以下是几个用到volatile关键字修饰变量的情况:
设备的硬件寄存器(如:状态寄存器)
一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
多线程应用中被几个任务共享的变量
发表于 2021-06-18 16:24:17
回复(0)
1
妄想者
volatile对应的变量可能在你的程序本身不知道的情况下发生改变
比如多线程的程序,共同访问的内存当中,多个程序都可以操纵这个变量
你自己的程序,是无法判定何时这个变量会发生变化
还比如,他和一个外部设备的某个状态对应,当外部设备发生操作的时候,通过驱动程序和中断事件,系统改变了这个变量的数值,而你的程序并不知道。
对于volatile类型的变量,系统每次用到他的时候都是直接从对应的内存当中提取,**而不会利用cache当中的原有数值,**以适应它的未知何时会发生的变化,系统对这种变量的处理不会做优化——显然也是因为它的数值随时都可能变化的情况。
————————————————
版权声明:本文为CSDN博主「乌克兰水晶小乳猪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/didi1663478999/article/details/98523122
发表于 2023-05-06 12:43:06
回复(0)
0
easonlau1
我眼花了,下字看成不字了。。。
发表于 2023-06-18 11:12:19
回复(0)
0
呵呵不解释
任务那个我表示怀疑,一个变量被几个任务用的话要加吗? 在任务里面写 while(a);a在其他的任务里面变成0。然后这个while一定会跳出的吧,求解答
发表于 2020-03-29 15:49:00
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
C语言
C++
顺丰集团
来自:
顺丰科技2019秋招嵌...
上传者:
小小
难度:
5条回答
1063收藏
4147浏览
热门推荐
相关试题
假定指针变量 p 定义为 “int...
360集团
C++
C语言
评论
(37)
来自
360公司2014校招笔试卷
文法G[E]: E-> T|...
编译和体系结构
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
顺丰集团
2019
信息技术岗
区块链
评论
(13)
来自
顺丰科技2019秋招运维...
运行 ldd hello 可以得到...
百度
C++
评论
(3)
有个函数位于0x20000000处...
Java工程师
C++工程师
顺丰集团
基础
嵌入式
评论
(4)
来自
顺丰科技2019秋招嵌入...
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题