- 3
- 0
- 约5.31千字
- 约 6页
- 2017-07-10 发布于河南
- 举报
关键字volatile的含义
?volatile 的意思是“易失的,易改变的”。这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化。通常在程序中申明了一个变量时,编译器会尽量把它存放在通用寄存器中,例如ebx。当CPU把其值放到ebx中后就不会再关心对应内存中的值。若此时其他程序(例如内核程序或一个中断)修改了内存中它的值,ebx中的值并不会随之更新。为了解决这种情况就创建了volatile限定词,让代码在引用该变量时一定要从指定位置取得其值。??????? 关键字volatile有什么含意?并给出三个不同的例子。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2).一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)3). 多线程应用中被几个任务共享的变量??????? 回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所用这些都要求volatile变量。不懂得volatile内容将会带来灾难。??????? 假设
您可能关注的文档
- 建筑法规环境保护法.doc
- 2016年内蒙古区直属事业单位考试职位表.docx
- 第3讲 建设工程法律制度(一).doc
- 2016年鄂尔多斯事业单位面试成绩计算方式.docx
- 2014年曲靖市定向事业单位法律考前重点收集.doc
- 三周1学案-------生命和健康的权利.doc
- 公共基础模拟01.doc
- 二级建造师考试真题2.doc
- 2014年二级建造师《工程法规》强化题第1套-中业教育.docx
- 法律法规笔记(二).doc
- 《GB/T 4943.2-2026音视频、信息技术和通信技术设备 第2部分:与GB 4943.1—2022相关的解释信息》.pdf
- GB/T 4943.2-2026音视频、信息技术和通信技术设备 第2部分:与GB 4943.1—2022相关的解释信息.pdf
- GB/T 47126-2026道路车辆 自动驾驶传感器与数据融合单元间数据通信 逻辑接口.pdf
- 《GB/T 47126-2026道路车辆 自动驾驶传感器与数据融合单元间数据通信 逻辑接口》.pdf
- 中国国家标准 GB/T 47126-2026道路车辆 自动驾驶传感器与数据融合单元间数据通信 逻辑接口.pdf
- 2026江苏南通市海安市人力资源和社会保障局下属事业单位选调1人考试参考试题及答案解析.docx
- 2026内蒙古自治区党委军民融合办所属事业单位竞争性比选3人考试备考试题及答案解析.docx
- 2026年徽商银行社会招聘考试参考题库及答案解析.docx
- 2026贵州杉乡建设投资开发(集团)有限公司招聘合同制员工4人考试参考题库及答案解析.docx
- 2026年护士资格模拟冲刺肿瘤科护理含解析.docx
最近下载
- 江苏省扬州市扬州中学2022-2023学年高一下学期3月月考语文 含解析.docx VIP
- GB_T51095-2015:建设工程造价咨询规范.pdf VIP
- T-D-T 1068-2022 国土空间生态保护修复工程实施方案编制规程(正式版).docx VIP
- 小区建筑电气毕业设计(论文).doc VIP
- 集团数字化转型方案.ppt VIP
- 基于大数据的温州公安队伍风险预警管控系统:设计、实践与展望.docx VIP
- 2025年医学课件-慢性阻塞性肺疾病(COPD).pptx VIP
- 慢性阻塞性肺疾病(COPD)ppt课件(图文).pptx VIP
- 梦游天姥领留别.docx
- 颈部淋巴结肿大的鉴别诊断和处理.pptx VIP
原创力文档

文档评论(0)