社区
C语言
帖子详情
请问C语言中关键字volatile是什么意思?
superyang1010
2005-05-21 09:51:04
请问C语言中关键字volatile是什么意思?
这句话是什么意思?
*(unsigned valetile int *)ABC = BCD;
ABC和BCD都是寄存器
...全文
4399
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的话,某些赋值会被忽略
volatile
和__
volatile
__是
什么意思
?
博客介绍了
C语言
中
volatile
和__
volatile
__
关键字
。
volatile
是
C语言
关键字
,gcc又定义了__
volatile
__,二者意思相同。因编译器常优化以减少访存,加
volatile
修饰的变量,编译器不对其读写操作优化,直接访存。__asm__ __
volatile
__指示编译器不改动优化后面的汇编语句。
C语言
:
volatile
关键字
讲解
本文详细解释了
C语言
中
的
volatile
关键字
的作用,特别是在多线程、
中
断处理和硬件交互场景下的使用,以及它如何防止编译器优化导致的数据不一致性。同时讨论了const和
volatile
结合的情况以及它们对指针的影响。
你了解
C语言
中
的
关键字
volatile
吗?
本文深入探讨了
C语言
中
volatile
关键字
的含义及其在不同场景下的应用,特别关注其在多线程编程和内核分析
中
的重要性。通过具体实例解释了
volatile
变量的特性和优化器如何处理它们,帮助程序员在实际开发
中
正确使用此
关键字
。
c语言
中
volatile
关键字
的含义
本文解释了
C语言
中
volatile
关键字
的作用及用法。
volatile
用于标记可能被外部改变的变量,防止编译器对其进行优化而导致错误。文章通过示例阐述了如何确保对特殊地址的稳定访问。
c语言
中
关键字
volatile
本文详细解析了
C语言
中
的
volatile
关键字
,阐述了其如何防止编译器优化可能导致的数据不一致问题,尤其是在多线程和
中
断环境
中
。
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章