| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1232 人关注过本帖
标题:volatile有哪些用法?
只看楼主 加入收藏
neakin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-3-11
收藏
 问题点数:0 回复次数:11 
volatile有哪些用法?
volatile有哪些用法?
搜索更多相关主题的帖子: volatile 用法 
2007-03-18 18:06
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
不会,不 过MSDN上有,但是e文看不懂,高手来说

2007-03-18 18:55
neakin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-3-11
收藏
得分:0 
书上说的好迷糊。。。。。

像苏轼写诗一样写程序----酣畅淋漓,豪放不羁。。
2007-03-18 22:58
清水香里
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-9-3
收藏
得分:0 

volatile

volatile declarator

The volatile keyword is a type qualifier used to declare that an object can be modified in the program by something other than statements, such as the operating system, the hardware, or a concurrently executing thread.

The following example declares a volatile integer nVint whose value can be modified by external processes:

int volatile nVint;

Objects declared as volatile are not used in optimizations because their value can change at any time. The system always reads the current value of a volatile object at the point it is requested, even if the previous instruction asked for a value from the same object. Also, the value of the object is written immediately on assignment.

One use of the volatile qualifier is to provide access to memory locations used by asynchronous processes such as interrupt handlers.



msdn上面的说明


www./www.
2007-03-18 23:04
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 
英文.........蚊子..........郁闷我英语不好 要是谁能翻译就好了.....

哎 时间....................
2007-03-18 23:08
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 
volatile
KK: []
DJ: []
a.
1. (液体等)易挥发的
Gasoline is volatile.
汽油是易挥发的。
2. 易发作的;爆炸性的
The situation in that area was tense, dangerous and volatile.
该地区的局势紧张、危险,且有一触即发之势。
3. 易变的;反复无常的;轻浮的
4. 活泼的;轻快的
5. 飞逝的;短暂的
是哪个意思.....

哎 时间....................
2007-03-18 23:10
neakin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-3-11
收藏
得分:0 
4楼的好懂。

像苏轼写诗一样写程序----酣畅淋漓,豪放不羁。。
2007-03-19 17:53
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
不晓得 我英语也不好

   好好活着,因为我们会死很久!!!
2007-03-19 18:17
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
收藏
得分:0 

我来粗略翻译一下吧:

volatile说明
关键字volatile是一种用于声明且限定只能被非程序中的语句所修改变量的类型,例如操作系统,硬件或者多线程.

下面的例子中声明了一个可以通过外部进程改变的volatile整型变量nWint:
int volatile nWint;

所有的变量都定义成volatile类型在应用中并不是最佳的,因为他们的值随时能更改.即使此前的指令从同一变量中返回一个值,但系统只读取这个volatile变量在被调用时当前的值.

利用volatile类型的限制可以为不同进程提供内存区域的访问,例如中断操作


我是金子,我要闪光的
2007-03-19 19:12
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
收藏
得分:0 
看到过这段文字
[QUOTE]
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
1). 并行设备的硬件寄存器(如:状态寄存器)
2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
3). 多线程应用中被几个任务共享的变量
[/QUOTE]
这种类型多用于线程控制,当然C语言中汇编程序的编写也常用,正如上述所说状态寄存器,进位标志位、辅助进位位、溢出标志位、陷阱标志...这些在程序中尽量避免人为修改的变量用volatile类型挺不错

我是金子,我要闪光的
2007-03-19 19:22
快速回复:volatile有哪些用法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016567 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved