免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ytl
打印 上一主题 下一主题

全局变量的地址为什么会改变? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-01-24 19:32 |显示全部楼层
原帖由 stephen_du 于 2010-1-24 19:28 发表
建议你自己亲自做做试验再评论我的话ok?

早就试验过了: 去掉一部分代码就没问题了。所以看起来是程序本身的问题,编译器有问题的可能性很小
如果编译器没有问题,则无论怎么优化,printf输出的结果都应该是正确的

论坛徽章:
0
12 [报告]
发表于 2010-01-24 19:38 |显示全部楼层
原帖由 stephen_du 于 2010-1-24 19:35 发表
不是说是编译器有bug,优化不是bug,
你去掉的是什么代码?


优化不会改变逻辑,否则就是bug了
去掉的都是一些执行不到的死代码

论坛徽章:
0
13 [报告]
发表于 2010-01-24 19:52 |显示全部楼层
原帖由 stephen_du 于 2010-1-24 19:43 发表
你理解我说的“访问过频的变量,程序会不从内存里面读取”的意思吗?
你工作中有我说的这个问题的经验吗?
算了,算我多管闲事。


你是否想验证编译器存在bug? 如果不是,你的出发点就错了!因为优化不应该改变逻辑
再说了,变量的地址跟是否从内存读取有关系吗?
如果你怀疑编译器有问题,那就另当别论了

论坛徽章:
0
14 [报告]
发表于 2010-01-24 20:26 |显示全部楼层
原帖由 群雄逐鹿中原 于 2010-1-24 20:17 发表


这个问题不跟你争论, 不要忘了是 &global_int  突变, 而不是 global_int 不对.

贴完整的代码吧, 这里很多人10分钟之内能看出这个问题.


代码前面贴了。完整的不可能,共几十个甚至上百个文件!
需要说明: &global_int变了,global_int自然就不对了,程序也就core了

[ 本帖最后由 ytl 于 2010-1-24 20:27 编辑 ]

论坛徽章:
0
15 [报告]
发表于 2010-01-24 20:33 |显示全部楼层
原帖由 群雄逐鹿中原 于 2010-1-24 20:28 发表
那几行代码显然不可能说明问题, 爱莫能助了


代码太多了,所以我想先了解下哪些方面的错误可能导致全局变量地址改变,然后再有针对性地分析代码

论坛徽章:
0
16 [报告]
发表于 2010-01-24 21:29 |显示全部楼层
原帖由 奇门遁甲-lu 于 2010-1-24 21:08 发表
是程序先core,然后你看到了错误的打印信息吧;
打死都不信全局变量地址会变


用dbx单步执行可以看到,是先打印出地址,然后才core的

论坛徽章:
0
17 [报告]
发表于 2010-01-24 23:26 |显示全部楼层
原帖由 liexusong 于 2010-1-24 22:38 发表
贴代码吧LZ!


前面有代码。太多,不能全贴

论坛徽章:
0
18 [报告]
发表于 2010-01-25 02:23 |显示全部楼层

回复 #45 prolj 的帖子

连别人说的是什么都没搞清楚, 你还能发现什么问题?
谁说是编译器的问题了?本来就是请大家从代码的角度出发给出可能的原因. 再次证明你根本不知道别人在说什么!

论坛徽章:
0
19 [报告]
发表于 2010-01-25 11:07 |显示全部楼层
原帖由 prolj 于 2010-1-25 10:20 发表
全局变量的地址
地址能说放在哪儿么?
你们家地址是“放在”哪儿的?


看透了,你算是不能醒悟了!

论坛徽章:
0
20 [报告]
发表于 2010-01-25 11:09 |显示全部楼层
原帖由 writer15 于 2010-1-25 10:25 发表
标题是  变量的地址为什么会改变呢?
内容说的却是 全局变量。
可见楼主表达能力不行,或者说逻辑不严谨。。。。

还有楼主对你指出错误,你却别人自掌嘴巴? 什么态度。。。
全局变量的地址是固定的,但可 ...


你也该自掌嘴巴!全局变量难道不是变量? 要是能在标题里说清楚还要内容干嘛?

[ 本帖最后由 ytl 于 2010-1-25 11:20 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP