静态内存的大小初始化时已经固定,操作接口对外仅有申请内存,初始化,清除内存,释放内存接口。
功能说明:
初始化栈上一片内存,将之分割成固定大小内存块,对其赋值,释放内存。
代码演示:
VOID los_membox_test(void) {
UINT32 *p_num = NULL;
UINT32 uwBlkSize = 10, uwBoxSize = 100;
UINT32 uwRet;
UINT32 pBoxMem[1000];
uwRet = LOS_MemboxInit(&pBoxMem[0], uwBoxSize, uwBlkSize);
if (uwRet != LOS_OK)
{
dprintf("内存池初始化失败!\n");
return;
}
else {
dprintf("内存池初始化成功!\n");
}
p_num = (int*)LOS_MemboxAlloc(pBoxMem);//申请内存块
if (NULL == p_num) {
dprintf("内存分配失败!\n");
return;
}
dprintf("内存分配成功\n");
*p_num = 828;
dprintf("*p_num = %d\n", *p_num);
LOS_MemboxClr(pBoxMem, p_num);//清除内存内容
dprintf("清除内存内容成功\n *p_num = %d\n", *p_num);
uwRet = LOS_MemboxFree(pBoxMem, p_num);//释放内存
if (LOS_OK == uwRet) {
dprintf("内存释放成功!\n");
}
else{
dprintf("内存释放失败!\n");
}
return;
}