堆内存管理 更多...
宏定义 | |
#define | mstr_heap_init(mem, leng) |
#define | mstr_heap_alloc(s) (mstr_heap_allocate_sym((s), 4)) |
#define | mstr_heap_realloc(p, new_s, old_s) mstr_heap_re_allocate_sym((p), (new_s), (old_s)) |
#define | mstr_heap_free(m) |
函数 | |
mstr_heap_init_sym (iptr_t heap_memory, usize_t heap_size) | |
初始化堆分配器 | |
mstr_heap_allocate_sym (usize_t size, usize_t align) | |
尝试从堆中分配size大小的内存 | |
mstr_heap_re_allocate_sym (void *old_ptr, usize_t new_size, usize_t old_size) | |
尝试从堆中重新分配size大小的内存 | |
MSTR_EXPORT_API (void) mstr_heap_free_sym(void *memory) | |
释放由 mstr_heap_allocate 分配的内存 | |
MSTR_EXPORT_API (usize_t) mstr_heap_get_free_size(void) | |
取得当前的空闲内存大小 | |
mstr_heap_realloc_cpimp_sym (void *old_ptr, usize_t new_size, usize_t old_size) | |
由memcpy实现realloc | |
mstr_heap_get_allocate_count (usize_t *alloc_count, usize_t *free_count) | |
取得分配器的统计数据 | |
堆内存管理
#define mstr_heap_alloc | ( | s | ) | (mstr_heap_allocate_sym((s), 4)) |
#define mstr_heap_free | ( | m | ) |
#define mstr_heap_init | ( | mem, | |
leng | |||
) |
#define mstr_heap_realloc | ( | p, | |
new_s, | |||
old_s | |||
) | mstr_heap_re_allocate_sym((p), (new_s), (old_s)) |
MSTR_EXPORT_API | ( | usize_t | ) |
取得当前的空闲内存大小
取得自运行以来空闲内存最小的值
取得当前的空闲内存大小
MSTR_EXPORT_API | ( | void | ) |
释放由 mstr_heap_allocate 分配的内存
释放由 mstr_heap_allocate 分配的内存
释放一个字符串所占的内存
取得迭代器
翻转字符串, 不做任何其它处理
[in,out] | str | 需要翻转的字符串 |
[in,out] | str | 需要翻转的字符串 |
[out] | it | 迭代器输出 |
[in] | str | 原字符串 |
str | 字符串结构 |
释放由 mstr_heap_allocate 分配的内存
释放一个字符串所占的内存
取得迭代器
翻转字符串, 不做任何其它处理
翻转字符串
[in,out] | str | 需要清空的字符串 |
[in,out] | str | 需要翻转的字符串 |
[in,out] | str | 需要翻转的字符串 |
[out] | it | 迭代器输出 |
[in] | str | 原字符串 |
str | 字符串结构 |
取得分配器的统计数据
[out] | alloc_count | 分配次数 |
[out] | free_count | 释放次数 |
初始化堆分配器
[in] | heap_memory | 堆内存区 |
[in] | heap_size | 堆内存区的大小 |
尝试从堆中重新分配size大小的内存
[in] | old_ptr | 之前的ptr |
[in] | new_size | 需要分配的新大小 |
[in] | old_size | 之前的ptr的大小 |