原子my_mem_init的问题

2019-07-20 07:17发布

/内存管理初始化  //memx:所属内存块
void my_mem_init(u8 memx)  
mymemset(mallco_dev.memmap[memx],0,memtblsize[memx]*4);       
这个是不是有点问题。应该调用mymemset(mallco_dev.membase[memx],0,memtblsize[memx]*4);       

因为mem2mapbase是buf的顶了。这样地址再加就越界了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
枫天2017
1楼-- · 2019-07-20 07:37
嘿嘿,正好刚看完这段。 额也琢磨了会,没有问题的。mymemset(mallco_dev.memmap[memx],0,memtblsize[memx]*4);        这句清除的是内存表的内容而不是内存池的内容,mallco_dev.memmap[memx]指向的是
mem1mapbase 或mem2mapbase 或 mem3mapbase,也就是内存表的首址!
31512478
2楼-- · 2019-07-20 09:26
 精彩回答 2  元偷偷看……
31512478
3楼-- · 2019-07-20 11:12
不过内存表也太大了,MEM2_MAX_SIZE/MEM2_BLOCK_SIZE*4    内存是内存表16倍。

一周热门 更多>