请教个问题
1. 代码在执行内存分配函数malloc过程中,不跳出来;暂停仿真器后,停在如下位置;但是单步不向下执行。
按理说,如果堆栈空间不够,应该返回0,而不是进入死循环。
E:\ti\ccsv6\tools\compiler\c6000_7.4.8\lib\src\memory.c
Shine:
加大堆栈后还是不行么?
user4827424:
回复 Shine:
加大了还是不行,我测试了下,如果堆栈空间不够,会返回0,可以判断分配不成功,不会跳不出来?
不知道是哪里有数据越界还是什么原因?有方法测试是否有数组越界吗?
Shine:
回复 user4827424:
请问malloc函数是怎么调用的?
user4827424:
回复 Shine:
1. 您好,如下调用,其他类似,包含头文件#include <stdlib.h>
short*pnLoadMagRectFlag = (PIXELTYPE*)malloc(nTemplateSize*sizeof(short)); if(pnLoadMagRectFlag==0x00) { malloc_error++; return; }
……
free(pnLoadMagRectFlag);
Shine:
回复 user4827424:
PIXELTYPE这个是什么数据类型?也是short型?
user4827424:
回复 Shine:
是的
Shine:
回复 user4827424:
请问是裸机程序还是bios程序?方便发个简单的测试程序么?
Shine:
回复 user4827424:
感谢分享!