求助:volatile BOOL m_bEnd; 中的 volatile 是什么意思?

mymjt888 2007-09-17 04:49:06
请教:
CRITICAL_SECTION m_CS;
volatile BOOL m_bEnd;

CRITICAL_SECTION 是什么意思
volatile 是什么意思?
在什么情况下要加这个啊
谢谢!
...全文
364 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymjt888 2007-09-17
  • 打赏
  • 举报
回复
感谢各位大哥!
njin_cool 2007-09-17
  • 打赏
  • 举报
回复
CRITICAL_SECTION 关键段
查看msdn,或者看Jeffrey Richter的Windows核心编程
pony_ml 2007-09-17
  • 打赏
  • 举报
回复
或是结构或是其他什么object
pony_ml 2007-09-17
  • 打赏
  • 举报
回复
CRITICAL_SECTION

宏或typedef
lovewhzlq 2007-09-17
  • 打赏
  • 举报
回复
当一个对象的值可能会在编译器的控制或监测之外被改变时例如一个被系统时钟更新
的变量那么该对象应该声明成volatile 因此编译器执行的某些例行优化行为不能应用在
已指定为volatile 的对象上.
volatile 限定修饰符的用法同const 非常相似——都是作为类型的附加修饰符例如
volatile int display_register;
volatile Task *curr_task;
volatile int ixa[ max_size ];
volatile Screen bitmap_buf;
display_register 是一个int 型的volatile 对象curr_task 是一个指向volatile 的Task 类对
象的指针ixa 是一个volatile 的整型数组数组的每个元素都被认为是volatile 的bitmap_buf
是一个volatile 的Screen 类对象它的每个数据成员都被视为volatile 的
volatile 修饰符的主要目的是提示编译器该对象的值可能在编译器未监测到的情况下被
改变因此编译器不能武断地对引用这些对象的代码作优化处理

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧