社区
C语言
帖子详情
请问C语言中关键字volatile是什么意思?
superyang1010
2005-05-21 09:51:04
请问C语言中关键字volatile是什么意思?
这句话是什么意思?
*(unsigned valetile int *)ABC = BCD;
ABC和BCD都是寄存器
...全文
4286
8
打赏
收藏
请问C语言中关键字volatile是什么意思?
请问C语言中关键字volatile是什么意思? 这句话是什么意思? *(unsigned valetile int *)ABC = BCD; ABC和BCD都是寄存器
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ltc_mouse
2005-05-22
打赏
举报
回复
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
1) 并行设备的硬件寄存器(如:状态寄存器)
2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
3) 多线程应用中被几个任务共享的变量
http://community.csdn.net/Expert/topic/4019/4019042.xml?temp=.6344721
chengshiq
2005-05-22
打赏
举报
回复
volatile:
告诉编译器改变量除了可被程序改变以外,还可以被其他代理改变。典型地,它被用于硬件地址和其他并行运行的程序共享的数据。
volatile int loc1; /*loc1是一个易变的位置*/
volatile int * ploc ;/*ploc指向一个易变的位置*/
jixingzhong
2005-05-22
打赏
举报
回复
ABC和BCD都是寄存器
同时都是二维的指针
ABC刚定义,BCD原有的(也有可能是2维的数组名)
jixingzhong
2005-05-22
打赏
举报
回复
volatile 的初试定义是这样的 :
用该类型定义的变量意味着没有具体的赋值也会改变,是为了提示系统,防止意外用的.
例如,某一个指针赋值了系统的时钟程序入口,其值即使没有在程序中改变,也会随时变化,而用了volatile定义,系统就会提前注意到这个.
综合呢,有两点作用:防错,优化!
zhousqy
2005-05-21
打赏
举报
回复
实现屏蔽可能的优化
mostideal
2005-05-21
打赏
举报
回复
是易变的。。
qrlvls
2005-05-21
打赏
举报
回复
特别是对于嵌入式系统而言,因为涉及到底层操作
因此有时赋值,系统会对内存区域操作,但不对寄存器进行操作
qrlvls
2005-05-21
打赏
举报
回复
volatile 的一个很大的作用是防止编译器优化
如果不使用volatile的话,某些赋值会被忽略
C语言
中
关键字
volatile
的作用
C语言
中
关键字
volatile
的作用,使用说明和例子
探讨
C语言
中
关键字
volatile
的含义
volatile
的意思是“易失的,易改变的”。这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化。通常在程序
中
申明了一个变量时,编译器会尽量把它存放在通用寄存器
中
,例如ebx。当CPU把其值放到ebx
中
后就不会再关心对应内存
中
的值。若此时其他程序(例如内核程序或一个
中
断)修改了内存
中
它的值,ebx
中
的值并不会随之更新。为了解决这种情况就创建了
volatile
限定词,让代码在引用该变量时一定要从指定位置取得其值。
关键字
volatile
有什么含意?并给出三个不同的例子。 一个定义为
volatile
的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。
C语言
中
关键字
volatile
的用法
本文介绍了
C语言
中
关键字
volatile
使用方法、注意事项内容。
C语言
中
关于
关键字
volatile
的用法
作为指令
关键字
,
volatile
的作用是确保本条指令不会因编译器的优化而省略,且要求每次直接读值。下面来一一说明
C语言
中
关键字
const、static、
volatile
、extern、auto、register的用法分析.doc
C语言
中
关键字
const、static、
volatile
、extern、auto、register的用法分析
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章