社区
嵌入开发(WinCE)
帖子详情
为什么我定义的变量被优化掉了?
frank_yufu
2004-12-26 08:11:24
我在程序中定义了一个变量,但是程序运行的时候我发现这个变量被优化掉了,这个变量是使用了的.这是怎么回事?我用的是ADS,怎么做可以防止变量被优化掉?
...全文
899
4
打赏
收藏
为什么我定义的变量被优化掉了?
我在程序中定义了一个变量,但是程序运行的时候我发现这个变量被优化掉了,这个变量是使用了的.这是怎么回事?我用的是ADS,怎么做可以防止变量被优化掉?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joyfly
2004-12-28
打赏
举报
回复
volatile是易失性的意思
我们都知道CPU会有CACHE,有些变量,数据在CACHE里有备分,CPU要访问他们的时候,就会从CACHE拿, 而不再到MEMORY或DEVICE上去读,这样可以加快访问速度.
声明变量时加volatile,就是让CPU每次访问这个变量都从MEMORY上去读,而不从CACHE里取.这样可以保证每次用到的值都能与它实际在MEMORY上存储的值是一致的.
volatile一般用来声明设备或内存的物理地址的时候用得比较多.
91program
2004-12-28
打赏
举报
回复
volatile 是一直刷新此变量,不让它被优化掉,就算不使用也不会被优化掉。
frank_yufu
2004-12-28
打赏
举报
回复
这样做确实可以解决,但是我搞不明白这个volatile到底起什么作用,看了一些网上的文章,一头雾水。
joyfly
2004-12-27
打赏
举报
回复
变量声明前加volatile,比如
volatile int i;
for (i=0; i<1000; i++);
matlab语言
定义
变量
类型,matlab
定义
变量
-MATLAB,
变量
本教程分享:《matlab
定义
变量
》,matlab中
变量
如何
定义
?可以用sym 或者 syms
定义
变量
。如果没有提前
定义
的话,可以在使用时可直接进行赋值使用。MATLAB中
变量
名以字母开头,后接字母、数字或下划线,最多63个字符;区分大小写;关键字和函数名不能作为
变量
名。扩展知识:Matlab
变量
的特点:不需事先声明,也不需指定
变量
类型,Matlab自动根据所赋予
变量
的值或对
变量
所进行的操作来...
MDK中
变量
被
优化
的问题
在最近的项目中遇到一个奇葩的问题,在debug时发现if语句里面的条件全都为真,即是if(1) 却不执行if语句的程序代码段,结果被这个问题折磨了一下午,后来经过大佬们的指点得知原来是因为编译器对
变量
进行了
优化
所以导致了该
变量
的值并不是最新的,二我们在debug的时候看到的却是
变量
的最新的值。所以导致了我们看到的和程序所执行的步骤不一样。 解决办法: 在
变量
的
定义
处加上__IO关键字,_...
c语言编译器怎么防止
优化
变量
,volatile关键字的作用:防止
变量
被编译器
优化
volatile关键字是一种类型修饰符,用它声明的类型
变量
,编译器对访问该
变量
的代码就不再进行
优化
,从而可以提供对特殊地址的稳定访问。 精确地说就是,
优化
器在用到这个
变量
时必须每次都小心地重新读取这个
变量
的值,而不是使用保存在寄存器里的备份。其中关键在于两个地方:1.编译器的
优化
在本次线程内,当读取一个
变量
时,为提高存取速度,编译器
优化
时有时会先把
变量
读取到一个寄存器中;以后,再取
变量
值时,就...
matlab的方法
定义
变量
,Matlab
定义
变量
的操作步骤
当前不少网友表示自己才接触Matlab这款应用,还不晓得如何
定义
变量
的操作,接下来就为你们分享Matlab
定义
变量
的操作步骤,大家都来一起学习吧。Matlab
定义
变量
的操作步骤情况一:符号
变量
一定要
定义
,
定义
之后才能使用。如下面的例子,未
定义
就会出错。符号
变量
定义
方法例如: sym x 或 syms x ,两者有区别也有共同点。情况二:计算过程当中的存储数值的
变量
可以不必
定义
,随时需要,随时
定义
,...
Visual Studio在Release模式下开启debug调试,编译器提示
变量
已被
优化
掉
,因而不可用
Visual Studio在Release模式下开启debug调试,不然编译器会
优化
变量
,无法在调试时看到
变量
的值。如果没有调整Visual Studio的配置,是无法实现release版本的单步调试功能的。 在Visual Studio一般默认有四种编译方式: Debug, MinSizeRel, Release, RelWithDebInfo. RelWithDebInfo模式在保留Release模式下运行快速的前提下,又可以给特定的工程开启Debug模式,进行针对性的调试。这样比整个项目都采用D
嵌入开发(WinCE)
19,500
社区成员
41,567
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章