大家们,帮帮忙,一个关于指针导致死循环的问题
发表时间:2008-01-15 01:41:31 来源: 责任编辑:everk 阅读数:
int *p,*pp,i,j;
i=100;
j=200;
while(i) pp=(int *)((char *)p+(i--)>>2+j); http://www.armforum.cn
类似的代码,运行时最后一句会导致死循环,手动停止后,停在0x08指令处,此时单步会有Warnning 0056:...的警告信息。但是如果最后一句变为
ARM开发论坛
pp=p; ARM开发论坛
pp=(int *)((char *)pp+(i--)>>2); http://www.armforum.cn
pp=(int *)((char *)pp+j);
ARM开发论坛
在一开始就单步进入这些代码,程序运行正常(顺序执行还是死循环)。
ARM
自己也猜了多种可能,基本排除: 字串4
1.地址空间分配错误; ARM开发论坛
2.地址内容冲突; 字串8
3.空指针;
http://www.armforum.cn
帮忙啊,大家!
ARM

