搜索
bottom↓
回复: 11

什么原因会改变程序中全局变量的地址呀?

[复制链接]

出0入0汤圆

发表于 2010-11-25 11:50:49 | 显示全部楼层 |阅读模式
刚开机的时候,程序都运行正常,但是运行一段时间后,全局变量的地址就变了。但是程序能正常运行。不是每次都出现这样的情况。这个有可能是什么原因导致的呢?不知道大家有没有遇到过这样的情况。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入31汤圆

发表于 2010-11-25 13:31:15 | 显示全部楼层
全局变量的地址就变了??
全局变量的数据变了?

出0入0汤圆

 楼主| 发表于 2010-11-25 14:10:56 | 显示全部楼层
是全局变量的地址变了。这个有可能是什么原因导致的呀?除了堆栈溢出之外,有其他什么可能吗?比如硬件的电源不稳定,或者晶振不稳定有可能导致程序会这样吗?

出0入0汤圆

发表于 2010-11-25 14:15:47 | 显示全部楼层
全局变量的地址变?
感觉不太可能,一般编译的时候就分配好了地方。
把代码搞上来看看,还有在什么环境下,说详细些!

出0入0汤圆

发表于 2010-11-25 14:16:38 | 显示全部楼层
从不关心变量放那里这是编译器的杰作……

出0入0汤圆

 楼主| 发表于 2010-11-25 18:13:08 | 显示全部楼层
是用mega128的芯片,常温正常,就在高低温(55度和-20度)的情况下,有出现过几次(之前测试出现过几次,近一个月就出现了1次),重新上电又正常。因为出现的不是很有规律,所以很头疼到底什么原因。代码比较多,不好打包哦。

出0入0汤圆

发表于 2010-11-25 18:24:10 | 显示全部楼层
电源噪声导致的,用示波器监控电源

出0入0汤圆

 楼主| 发表于 2010-11-25 19:53:54 | 显示全部楼层
也就是说硬件(比如说电源不稳定,或者晶振不稳定)也是有可能导致程序运行一段时间后,全局变量的地址会被改变,对吗?

出0入0汤圆

发表于 2010-11-25 20:05:49 | 显示全部楼层
LZ具体 解释下什么叫变量地址变了?你又是如何知道它变了呢?

问题问清楚了,才可能有正确答案

出0入0汤圆

发表于 2010-11-25 20:18:52 | 显示全部楼层
猛一看以为是用了MMU呢...
8楼正解,你怎么知道它的地址变了?调试器调试出来的还是?全局变量的地址变了真的是很费解的一句话。。。

出0入0汤圆

 楼主| 发表于 2010-11-26 08:40:39 | 显示全部楼层
用仿真器仿真的时候,不是可以看到地址吗?

出0入0汤圆

 楼主| 发表于 2010-11-26 08:47:42 | 显示全部楼层
以前有仿真的时候有遇到过全局变量的地址被改变,只不过那个应该是程序的问题。其实我就是想确认下硬件有没有可能导致全局变量的地址被改变。有没有人曾经遇到过类似的问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-13 17:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表