更新时间:2021-07-08 GMT+08:00
编程实例
实例描述
前提条件:在menuconfig菜单中完成动态内存的配置。
本实例执行以下步骤:
- 初始化一个动态内存池。
- 从动态内存池中申请一个内存块。
- 在内存块中存放一个数据。
- 打印出内存块中的数据。
- 释放该内存块。
编程实例
#define TEST_POOL_SIZE (2*1024*1024) UINT8 g_testPool[TEST_POOL_SIZE]; VOID Example_DynMem(VOID) { UINT32 *mem = NULL; UINT32 ret; ret = LOS_MemInit(g_testPool, TEST_POOL_SIZE); if (LOS_OK == ret) { dprintf("内存池初始化成功!\n"); } else { dprintf("内存池初始化失败!\n"); return; } /*分配内存*/ mem = (UINT32 *)LOS_MemAlloc(g_testPool, 4); if (NULL == mem) { dprintf("内存分配失败!\n"); return; } dprintf("内存分配成功\n"); /*赋值*/ *mem = 828; dprintf("*mem = %d\n", *mem); /*释放内存*/ ret = LOS_MemFree(g_testPool, mem); if (LOS_OK == ret) { dprintf("内存释放成功!\n"); } else { dprintf("内存释放失败!\n"); } return; }
结果验证
输出结果如下:
内存池初始化成功! 内存分配成功 *mem = 828 内存释放成功!
完整实例代码
父主题: 动态内存