[学习资料] C中使用volatile限定符和volatile限定符的示例

[复制链接]
1004|7
 楼主| gaoyang9992006 发表于 2020-9-22 15:08 | 显示全部楼层 |阅读模式
volatile是一种限定词,在声明时与变量一起使用。它指示编译器关闭优化,该变量的值可以随时更改,而无需执行程序执行任何操作。
编译器如何在Volatile限定词上进行优化
  • 每当在程序中执行变量时,编译器都会从内存中读取该变量的值。但是有时出于优化目的,编译器会将当前使用的变量的值存储在任何未使用的寄存器中。现在,当该变量下次在程序中执行时,编译器发现该程序未更改该变量的值,便从寄存器而不是存储器中读取该值。该过程节省了时间,因为访问寄存器的速度比访问存储器的速度快。
句法
声明volatile变量:
volatile int var;
int volatile var;
声明指向volatile变量的指针
volatile int * ptr;
int volatile * ptr;

lcczg 发表于 2020-9-23 10:06 | 显示全部楼层
楼主总结的好。中断中由于有抢占竞争,通常要用volatile
奔波儿熊 发表于 2020-9-23 17:20 | 显示全部楼层
谢谢分享
paotangsan 发表于 2020-10-12 10:30 | 显示全部楼层
感谢楼主的分享
renzheshengui 发表于 2020-10-12 10:31 | 显示全部楼层
楼主辛苦了啊
wakayi 发表于 2020-10-12 10:31 | 显示全部楼层
路过 学习一下
wowu 发表于 2020-10-12 10:32 | 显示全部楼层
介绍的很详细 谢谢
xiaoqizi 发表于 2020-10-12 10:32 | 显示全部楼层
长知识了谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2052

主题

16403

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部