代码错误

2019-07-21 04:20发布


    u8 *BlackImage, *RedImage;
    u16 Imagesize = 0x7800;
    if((BlackImage = (u8*)malloc(Imagesize / 2)) == NULL) {
        printf("Failed to apply for black memory... ");
        return -1;
    }
    if((RedImage = (u8*)malloc(Imagesize / 2)) == NULL){
        printf("Failed to apply for red memory... ");
        return -1;
    }
为什么程序里加了这段代码 单步调试时会进入
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {}
}
出现这样的错误




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
peng1554
1楼-- · 2019-07-21 06:10
可能内存分配出现问题
lvkanger
2楼-- · 2019-07-21 10:09
 精彩回答 2  元偷偷看……
翼行园子
3楼-- · 2019-07-21 14:47
仿真,看call stack,估计访问了非法的地址
IoTCatcher
4楼-- · 2019-07-21 20:05
你的这个NULL判断有意义吗??
IoTCatcher
5楼-- · 2019-07-21 21:21
你的这个NULL判断, 有问题吧.

NULL 不是应该对返回的的指判断吗?
你怎么是对一个赋值语句进行判断???
edmund1234
6楼-- · 2019-07-22 01:40
 精彩回答 2  元偷偷看……

一周热门 更多>