请教个问题
1. 代码在执行内存分配函数malloc过程中,不跳出来;暂停仿真器后,停在如下位置;但是单步不向下执行。
按理说,如果堆栈空间不够,应该返回0,而不是进入死循环。
E:\ti\ccsv6\tools\compiler\c6000_7.4.8\lib\src\memory.c
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请教个问题
1. 代码在执行内存分配函数malloc过程中,不跳出来;暂停仿真器后,停在如下位置;但是单步不向下执行。
按理说,如果堆栈空间不够,应该返回0,而不是进入死循环。
E:\ti\ccsv6\tools\compiler\c6000_7.4.8\lib\src\memory.c
加大了还是不行,我测试了下,如果堆栈空间不够,会返回0,可以判断分配不成功,不会跳不出来?
不知道是哪里有数据越界还是什么原因?有方法测试是否有数组越界吗?
1. 您好,如下调用,其他类似,包含头文件#include <stdlib.h>
short*pnLoadMagRectFlag = (PIXELTYPE*)malloc(nTemplateSize*sizeof(short));
if(pnLoadMagRectFlag==0x00)
{
malloc_error++;
return;
}
……
free(pnLoadMagRectFlag);