| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1176 人关注过本帖
标题:关于malloc 的问题
只看楼主 加入收藏
cuixingasd
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:135
注 册:2009-3-24
收藏
得分:1 
gcc 里面因为a[9]被设置位0,也就是内存中在数组a之后的一个字的内存被设置为0.gcc编译这段程序是按照地址递减的方式来给变量分配给变量i。此时,本来i的值为10,循环体将不存在的a[10]设置为0,实际上却是将i设置为0,这样就成了死循环。
2009-09-17 20:47
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:1 
你都知道了有数组越界访问还问。。。看反汇编啊。反汇编可以明确告诉你一切

VS里面设断点,按ALT+8看反汇编
GCC编译时使用/S参数看反汇编 // 说错了,把反字去掉,对GCC来说只是中间代码,不是从可执行文件"反"出来的


[ 本帖最后由 leeco 于 2009-9-20 16:19 编辑 ]
2009-09-20 16:16
快速回复:关于malloc 的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014265 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved