XWOS API
4.0
XWOS C/C++ API参考手册
|
XWOS内存管理:内存池:页分配器 更多...
#include <xwos/standard.h>
#include <string.h>
#include <xwos/lib/xwbop.h>
#include <xwos/mm/common.h>
#include <xwos/mm/mempool/page.h>
#include <xwos/mm/mempool/allocator.h>
宏定义 | |
#define | xwmm_mempoollogf(lv, thd, fmt, ...) |
函数 | |
static xwer_t | xwmm_mempool_construct (struct xwmm_mempool *mp, const char *name, xwptr_t origin, xwsz_t size, struct xwmm_mempool_page_odrbtree *odrbtree, struct xwmm_mempool_page *pgarray) |
构建内存池 | |
xwer_t | xwmm_mempool_init (struct xwmm_mempool *mp, const char *name, xwptr_t origin, xwsz_t size, xwsz_t pgodr, xwsz_t pre, void **membuf) |
XWMM API:初始化内存池 | |
xwer_t | xwmm_mempool_malloc (struct xwmm_mempool *mp, xwsz_t size, void **membuf) |
XWMM API:从内存池中申请内存 | |
xwer_t | xwmm_mempool_free (struct xwmm_mempool *mp, void *mem) |
XWMM API:释放内存 | |
xwer_t | xwmm_mempool_realloc (struct xwmm_mempool *mp, xwsz_t size, void **membuf) |
XWMM API:调整内存大小 | |
xwer_t | xwmm_mempool_memalign (struct xwmm_mempool *mp, xwsz_t alignment, xwsz_t size, void **membuf) |
XWMM API:从内存池中申请对齐的内存 | |
XWOS内存管理:内存池:页分配器
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
在文件 allocator.c 中定义.
#define xwmm_mempoollogf | ( | lv, | |
thd, | |||
fmt, | |||
... | |||
) |
< 调试日志开关
在文件 allocator.c 第 25 行定义.
|
static |
构建内存池
[in] | mp | 内存池的指针 |
[in] | name | 名字 |
[in] | origin | 内存区域的起始地址 |
[in] | size | 内存区域的总大小 |
[in] | odrbtree | 阶红黑树数组的指针 |
[in] | pgarray | 页控制块数组的指针 |
XWOK | 没有错误 |
-E2SMALL | 内存区域太小 |
-EALIGN | 内存区域没有对齐 |
< 每页内存的字节数
< 内存管理对齐的字节数
< 8字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 16字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 32字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 64字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 96字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 128字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 160字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 192字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 256字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 320字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 384字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 512字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 768字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 1024字节分配器所使用的页的阶数
< 内存管理对齐的字节数
< 2048字节分配器所使用的页的阶数
<No error
在文件 allocator.c 第 42 行定义.