完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
volatile 告诉编译器该变量是随时可能发生变化的,每次使用它的时候必须从变量的地址中读取。编译器不要进行优化。
|
|
|
|
例如: volatile unsigned char var; void test(void) [ a = var; b = var; …… ] 如果不声明volatile,第二次读var的值,编译器将会使用第一次a = var;时获得的var值, 在这期间,编译器会假设var不会被外部中断、或者别的函数改变。 但是,实际上,如果var可能是寄存器值或者被中断程序和应用程序共享的全局变量,两次读取之间,var的值可能会被修改,如果不声明为volatile,则会得到一个旧的值。 如果对变量声明为volatile,则编译器不会对这个变量做任何假设。 |
|
|
|
这是C语言的关键字,基础知识,建议查看C语言基本教程或百度搜索一下就了解了。
If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
读的时候volatile是不是可以控制编译器不从Cache中读取该变量?那写呢,如果存在Cache中,是不是也会直接绕过Cache操作变量的地址呢。 如果我使能了cache,是不是可以通过volatile关键字实现绕过cache呢? |
|
|
|
哈哈神神 发表于 2018-6-6 13:58 目前的C2000芯片上还没有Cache. If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
635 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
585 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1036 浏览 1 评论
707 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
508 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
147浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
113浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
118浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
114浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
156浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-16 20:17 , Processed in 0.938465 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号