| 
 
中级会员  
 
	积分384金钱384 注册时间2023-7-23在线时间89 小时 | 
 
3金钱 
| 本帖最后由 安打 于 2024-2-27 21:29 编辑 
 1,在malloc.h里定义结构体struct _m_mallco_dev
 {
 void (*init)(uint8_t);          /* 初始化 */
 uint16_t (*perused)(uint8_t);   /* 内存使用率 */
 uint8_t *membase[SRAMBANK];     /* 内存池 管理SRAMBANK个区域的内存 */
 MT_TYPE *memmap[SRAMBANK];      /* 内存管理状态表 */
 uint8_t  memrdy[SRAMBANK];      /* 内存管理是否就绪 */
 };
 
 其中MT_TYPE没找到定义
 
 2,mallco_dev.memmap中,明明在定义的结构体里是一维数组,但为什么有mallco_dev.memmap[memx][index + i] = 0 变成二维数组,为什么没有报错?
 
 3,void my_mem_set(void *s, uint8_t c, uint32_t count)
 {
 uint8_t *xs = s;
 
 while (count--)*xs++ = c;
 }
 之中,虽然void *s指定了位置,但是简单粗暴的令s的内存地址后面任意数位都赋值零会不会造成内存泄露,或者把本不应该赋值为零的内存赋值为零?
 
 | 
 |