$darkmode
提供动态内存分配接口 更多...
函数 | |
void * | rt_malloc (rt_size_t size) |
动态分配内存块 更多... | |
void | rt_free (void *ptr) |
释放动态内存 更多... | |
void * | rt_realloc (void *ptr, rt_size_t newsize) |
调整已分配内存块大小 更多... | |
void * | rt_calloc (rt_size_t count, rt_size_t size) |
分配并清零内存块 更多... | |
void * | rt_malloc_align (rt_size_t size, rt_size_t align) |
分配地址对齐的内存块 更多... | |
void | rt_free_align (void *ptr) |
释放对齐内存块 更多... | |
提供动态内存分配接口
void* rt_malloc | ( | rt_size_t | size | ) |
动态分配内存块
从系统堆中分配指定大小的内存块
[in] | size | 请求分配内存的字节大小 |
RT_NULL | 内存不足或参数无效 |
!RT_NULL | 分配成功,指向内存块地址的指针 |
void rt_free | ( | void * | ptr | ) |
释放动态内存
用户线程使用完从内存分配器中申请的内存后,必须及时调用该函数释放,否则会 造成内存泄漏,系统会把待释放的内存还回给堆管理器中
[in] | ptr | 要释放的内存块指针 |
void* rt_realloc | ( | void * | ptr, |
rt_size_t | newsize | ||
) |
调整已分配内存块大小
本函数将在已分配内存块的基础上重新分配内存块的大小,在进行重新分配内存块时, 原来的内存块数据保持不变(缩小的情况下,后面的数据被自动截断)
[in] | ptr | 原始内存块的指针 |
[in] | newsize | 新的内存字节大小 |
RT_NULL | 内存不足或参数无效 |
!RT_NULL | 调整成功,指向内存块地址的指针 |
void* rt_calloc | ( | rt_size_t | count, |
rt_size_t | size | ||
) |
分配并清零内存块
本函数分配足够存储 count 个 size 大小对象的连续内存,并初始化为 0
[in] | count | 对象数量 |
[in] | size | 每个对象的字节大小 |
RT_NULL | 内存不足或参数无效 |
!RT_NULL | 分配成功,内容已清零,指向内存块地址的指针 |
void* rt_malloc_align | ( | rt_size_t | size, |
rt_size_t | align | ||
) |
分配地址对齐的内存块
本函数分配内存块并确保返回地址按指定对齐方式对齐
[in] | size | 请求分配的内存字节大小 |
[in] | align | 对齐字节数 |
RT_NULL | 内存不足或参数无效 |
!RT_NULL | 分配成功,返回分配的内存块地址 |
void rt_free_align | ( | void * | ptr | ) |
释放对齐内存块
本函数将释放由 rt_malloc_align() 函数分配的并且地址对齐的内存块
[in] | ptr | 将要释放的内存块指针 |