os_memory.h 函数
2026/4/26大约 1 分钟函数声明内存管理API
os_memory.h 函数
📚 本节导读
用途: 内存管理 API 函数声明(内存池 + 堆内存)
来源: kernel/include/os_memory.h:296
一、内存池函数
os_mempool_create
os_mempool_id os_mempool_create(const char *name,
os_size_t block_size,
os_size_t block_count);功能: 创建内存池
参数:
- name: 内存池名称
- block_size: 每个块的大小
- block_count: 块数量
os_mempool_delete
os_err_t os_mempool_delete(os_mempool_id mp);功能: 删除内存池
os_mempool_alloc
void *os_mempool_alloc(os_mempool_id mp, os_int32_t timeout);功能: 从内存池分配内存
os_mempool_free
os_err_t os_mempool_free(os_mempool_id mp, void *block);功能: 释放内存到内存池
os_mempool_get_unused_count
os_size_t os_mempool_get_unused_count(os_mempool_id mp);功能: 获取空闲块数量
os_mempool_get_total_count
os_size_t os_mempool_get_total_count(os_mempool_id mp);功能: 获取总块数
二、静态内存池管理
OS_MEMPOOL_DEFINE
#define OS_MEMPOOL_DEFINE(name, block_size, block_count) \
os_mempool_dummy_t _mp_obj_##name; \
OS_ALIGN(4) os_uint8_t _mp_buffer_##name[(block_size) * (block_count)]功能: 静态定义内存池
os_mempool_init
os_err_t os_mempool_init(os_mempool_id mp, const char *name,
void *pool_start, os_size_t pool_size,
os_size_t block_size);功能: 初始化静态内存池
os_mempool_deinit
os_err_t os_mempool_deinit(os_mempool_id mp);功能: 反初始化静态内存池
三、堆内存函数
os_malloc
void *os_malloc(os_size_t size);功能: 从堆分配内存
os_free
void os_free(void *ptr);功能: 释放堆内存
os_realloc
void *os_realloc(void *ptr, os_size_t size);功能: 重新分配堆内存
os_calloc
void *os_calloc(os_size_t count, os_size_t size);功能: 分配并清零内存
os_malloc_align
void *os_malloc_align(os_size_t size, os_size_t align);功能: 对齐分配
os_free_align
void os_free_align(void *ptr);功能: 释放对齐分配的内存
四、内存信息查询
os_memory_info
os_err_t os_memory_info(os_mempool_id heap, os_size_t *total,
os_size_t *used, os_size_t *max_used);功能: 获取内存信息
os_memory_get_total
os_size_t os_memory_get_total(os_mempool_id heap);功能: 获取内存总量
os_memory_get_used
os_size_t os_memory_get_used(os_mempool_id heap);功能: 获取已使用内存
os_memory_get_max_used
os_size_t os_memory_get_max_used(os_mempool_id heap);功能: 获取历史最大使用量