内存分配问题

2019-07-20 15:16发布


u8 my_mem_free(u8 memx,u32 offset)  
{  
    int i;  
    if(!mallco_dev.memrdy[memx])//Î′3õê¼»ˉ,ÏèÖ′DD3õê¼»ˉ
        {
                mallco_dev.init(memx);   
        return 1;//Î′3õê¼»ˉ  
    }  
    if(offset<memsize[memx])//&#198;&#171;ò&#198;&#212;ú&#196;ú′&#230;3&#216;&#196;ú.
    {  
        int index=offset/memblksize[memx];                        //&#198;&#171;ò&#198;&#203;ù&#212;ú&#196;ú′&#230;&#191;éo&#197;&#194;&#235;  
        int nmemb=mallco_dev.memmap[memx][index];        //&#196;ú′&#230;&#191;éêyá&#191;
        for(i=0;i<nmemb;i++)                                                  //&#196;ú′&#230;&#191;é&#199;&#229;á&#227;
        {  
            mallco_dev.memmap[memx][index+i]=0;  
        }  
        return 0;  
    }else return 2;//&#198;&#171;ò&#198;3&#172;&#199;&#248;á&#203;.  
}

请问原子哥,这个函数释放内存,实际只是把内存管理表对应的标识位清零了,内存池对应空间不要操作吗?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。