acl
3.5.3.0
|
类型定义 | |
typedef struct ACL_DBUF_POOL | ACL_DBUF_POOL |
函数 | |
ACL_API ACL_DBUF_POOL * | acl_dbuf_pool_create (size_t block_size) |
ACL_API int | acl_dbuf_pool_reset (ACL_DBUF_POOL *pool, size_t off) |
ACL_API void | acl_dbuf_pool_destroy (ACL_DBUF_POOL *pool) |
ACL_API void * | acl_dbuf_pool_alloc (ACL_DBUF_POOL *pool, size_t len) |
ACL_API void * | acl_dbuf_pool_calloc (ACL_DBUF_POOL *pool, size_t len) |
ACL_API char * | acl_dbuf_pool_strdup (ACL_DBUF_POOL *pool, const char *s) |
ACL_API char * | acl_dbuf_pool_strndup (ACL_DBUF_POOL *pool, const char *s, size_t len) |
ACL_API void * | acl_dbuf_pool_memdup (ACL_DBUF_POOL *pool, const void *addr, size_t len) |
ACL_API int | acl_dbuf_pool_free (ACL_DBUF_POOL *pool, const void *addr) |
ACL_API int | acl_dbuf_pool_keep (ACL_DBUF_POOL *pool, const void *addr) |
ACL_API int | acl_dbuf_pool_unkeep (ACL_DBUF_POOL *pool, const void *addr) |
ACL_API void | acl_dbuf_pool_test (size_t max) |
typedef struct ACL_DBUF_POOL ACL_DBUF_POOL |
在文件 acl_dbuf_pool.h 第 8 行定义.
ACL_API void* acl_dbuf_pool_alloc | ( | ACL_DBUF_POOL * | pool, |
size_t | len | ||
) |
分配指定长度的内存
pool | {ACL_DBUF_POOL*} 对象池对象 |
len | {size_t} 需要分配的内存大小 |
ACL_API void* acl_dbuf_pool_calloc | ( | ACL_DBUF_POOL * | pool, |
size_t | len | ||
) |
分配指定长度的内存并将内存区域清零
pool | {ACL_DBUF_POOL*} 对象池对象 |
len | {size_t} 需要分配的内存长度 |
ACL_API ACL_DBUF_POOL* acl_dbuf_pool_create | ( | size_t | block_size | ) |
创建内存池对象
block_size | {size_t} 内存池中每个连续内存块的大小(字节) |
ACL_API void acl_dbuf_pool_destroy | ( | ACL_DBUF_POOL * | pool | ) |
销毁内存池
pool | {ACL_DBUF_POOL*} 对象池对象 |
ACL_API int acl_dbuf_pool_free | ( | ACL_DBUF_POOL * | pool, |
const void * | addr | ||
) |
归还由内存池分配的内存
pool | {ACL_DBUF_POOL*} 对象池对象 |
addr | {const void*} 由内存池分配的内存地址 |
ACL_API int acl_dbuf_pool_keep | ( | ACL_DBUF_POOL * | pool, |
const void * | addr | ||
) |
保留由内存池分配的某段地址,以免当调用 reset 时被提前释放掉
pool | {ACL_DBUF_POOL*} 对象池对象 |
addr | {const void*} 由内存池分配的内存地址 |
ACL_API void* acl_dbuf_pool_memdup | ( | ACL_DBUF_POOL * | pool, |
const void * | addr, | ||
size_t | len | ||
) |
根据输入的内存数据动态创建内存并将数据进行复制
pool | {ACL_DBUF_POOL*} 对象池对象 |
addr | {const void*} 源数据内存地址 |
len | {size_t} 源数据长度 |
ACL_API int acl_dbuf_pool_reset | ( | ACL_DBUF_POOL * | pool, |
size_t | off | ||
) |
重置内存池状态,会将多余的内存数据块释放
pool | {ACL_DBUF_POOL*} 内存池对象 |
off | {size_t} 要求保留的最小内存相对偏移位置 |
ACL_API char* acl_dbuf_pool_strdup | ( | ACL_DBUF_POOL * | pool, |
const char * | s | ||
) |
根据输入的字符串动态创建新的内存并将字符串进行复制,类似于 strdup
pool | {ACL_DBUF_POOL*} 对象池对象 |
s | {const char*} 源字符串 |
ACL_API char* acl_dbuf_pool_strndup | ( | ACL_DBUF_POOL * | pool, |
const char * | s, | ||
size_t | len | ||
) |
根据输入的字符串动态创建新的内存并将字符串进行复制,类似于 strdup
pool | {ACL_DBUF_POOL*} 对象池对象 |
s | {const char*} 源字符串 |
len | {size_t} 限定的最大字符串长度 |
ACL_API void acl_dbuf_pool_test | ( | size_t | max | ) |
内部测试用函数
ACL_API int acl_dbuf_pool_unkeep | ( | ACL_DBUF_POOL * | pool, |
const void * | addr | ||
) |
取消保留由内存池分配的某段地址,以便于调用 dbuf_reset 时被释放掉
pool | {ACL_DBUF_POOL*} 对象池对象 |
addr | {const void*} 由内存池分配的内存地址 |