acl
3.5.3.0
|
#include "acl_define.h"
宏定义 | |
#define | ALIGN_TYPE size_t |
#define | ACL_MEMPOOL_CTL_END 0 |
#define | ACL_MEMPOOL_CTL_MUTEX 1 |
#define | ACL_MEMPOOL_CTL_DISABLE 2 |
函数 | |
ACL_API int * | acl_memory_debug_start (void) |
ACL_API void | acl_memory_debug_stop (void) |
ACL_API void | acl_memory_debug_stack (int onoff) |
ACL_API void | acl_memory_stat (void) |
ACL_API void | acl_memory_alloc_stat (void) |
ACL_API void | acl_mempool_open (size_t max_size, int use_mutex) |
ACL_API void | acl_mempool_close (void) |
ACL_API void | acl_mempool_ctl (int name,...) |
ACL_API int | acl_mempool_total_allocated (void) |
ACL_API void | acl_mempool_status (void) |
ACL_API void | acl_default_memstat (const char *filename, int line, void *ptr, size_t *len, size_t *real_len) |
ACL_API void | acl_default_meminfo (void) |
ACL_API void | acl_default_set_memlimit (size_t len) |
ACL_API size_t | acl_default_get_memlimit (void) |
ACL_API void * | acl_default_malloc (const char *filename, int line, size_t size) |
ACL_API void * | acl_default_calloc (const char *filename, int line, size_t nmemb, size_t size) |
ACL_API void * | acl_default_realloc (const char *filename, int line, void *ptr, size_t size) |
ACL_API char * | acl_default_strdup (const char *filename, int line, const char *str) |
ACL_API char * | acl_default_strndup (const char *filename, int line, const char *str, size_t len) |
ACL_API void * | acl_default_memdup (const char *filename, int line, const void *ptr, size_t len) |
ACL_API void | acl_default_free (const char *filename, int line, void *ptr) |
ACL_API void * | acl_malloc_glue (const char *filename, int line, size_t size) |
ACL_API void * | acl_calloc_glue (const char *filename, int line, size_t nmemb, size_t size) |
ACL_API void * | acl_realloc_glue (const char *filename, int line, void *ptr, size_t size) |
ACL_API char * | acl_strdup_glue (const char *filename, int line, const char *str) |
ACL_API char * | acl_strndup_glue (const char *filename, int line, const char *str, size_t len) |
ACL_API void * | acl_memdup_glue (const char *filename, int line, const void *ptr, size_t len) |
ACL_API void | acl_free_glue (const char *filename, int line, void *ptr) |
ACL_API void | acl_free_fn_glue (void *ptr) |
#define ACL_MEMPOOL_CTL_DISABLE 2 |
是否关闭内存池
在文件 acl_malloc.h 第 50 行定义.
#define ACL_MEMPOOL_CTL_END 0 |
结束标志
在文件 acl_malloc.h 第 48 行定义.
#define ACL_MEMPOOL_CTL_MUTEX 1 |
控制内存池是否加锁
在文件 acl_malloc.h 第 49 行定义.
#define ALIGN_TYPE size_t |
在文件 acl_malloc.h 第 21 行定义.
ACL_API void* acl_calloc_glue | ( | const char * | filename, |
int | line, | ||
size_t | nmemb, | ||
size_t | size | ||
) |
ACL_API void* acl_default_calloc | ( | const char * | filename, |
int | line, | ||
size_t | nmemb, | ||
size_t | size | ||
) |
ACL库中缺省的内存分配器接口, 分配内存并初始化所分配内存的内容为0 类似于标准库中的 calloc
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
nmemb | {size_t} 内存块的个数 |
size | {size_t} 每个内存块的大小 |
ACL_API void acl_default_free | ( | const char * | filename, |
int | line, | ||
void * | ptr | ||
) |
释放由 acl_devault_xxx 所分配的内存动态内存
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
ACL_API size_t acl_default_get_memlimit | ( | void | ) |
获得当前所设置的内存分配最大报警值大小(内部缺省值是 100000000)
ACL_API void* acl_default_malloc | ( | const char * | filename, |
int | line, | ||
size_t | size | ||
) |
ACL库中缺省的内存分配器接口, 分配内存但并不初始化所分配内存的内容 类似于标准库中的 malloc
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
size | {size_t} 需要的内存大小 |
ACL_API void* acl_default_memdup | ( | const char * | filename, |
int | line, | ||
const void * | ptr, | ||
size_t | len | ||
) |
复制内存数据
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
ptr | {const void*} 源内存地址 |
len | {size_t} 源内存区域的长度 |
ACL_API void acl_default_meminfo | ( | void | ) |
ACL_API void acl_default_memstat | ( | const char * | filename, |
int | line, | ||
void * | ptr, | ||
size_t * | len, | ||
size_t * | real_len | ||
) |
获得当前内存指针的一些状态信息,如该内存的实际大小与对外分配大小
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
ptr | {void*} 动态分配的内存外部地址 |
len | {size_t*} 存储该内存的外部可用大小 |
real_len | {size*} 存储该内存的实际大小(因为内部有一些控制字节) |
ACL_API void* acl_default_realloc | ( | const char * | filename, |
int | line, | ||
void * | ptr, | ||
size_t | size | ||
) |
ACL库中缺省的内存分配器接口, 类似于标准库的 realloc
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
ptr | {void*} 之前用ACL库所分配的内存地址 |
size | {size_t} 需要的内存大小 |
ACL_API void acl_default_set_memlimit | ( | size_t | len | ) |
设置内存分配最大报警值,即当调用者分配的内存大小达到此报警值后,内部会自动 记录报警日志,同时将调用堆栈打印至日志中;内部缺少值是 100000000
len | {size_t} 最大报警值,该值必须 > 0 |
ACL_API char* acl_default_strdup | ( | const char * | filename, |
int | line, | ||
const char * | str | ||
) |
复制字符串,类似于标准库中的 strdup
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
str | {const char*} 源字符串地址 |
ACL_API char* acl_default_strndup | ( | const char * | filename, |
int | line, | ||
const char * | str, | ||
size_t | len | ||
) |
复制字符串,但限制最大字符串长度,类似于标准库中的 strndup
filename | {const char*} 调用该函数的文件名,可以为空 |
line | {int} 调用该函数所在源文件中的行数 |
str | {const char*} 源字符串地址 |
len | {size_t} 限制新字符串的最大长度值 |
ACL_API void acl_free_fn_glue | ( | void * | ptr | ) |
ACL_API void acl_free_glue | ( | const char * | filename, |
int | line, | ||
void * | ptr | ||
) |
ACL_API void* acl_malloc_glue | ( | const char * | filename, |
int | line, | ||
size_t | size | ||
) |
ACL_API void* acl_memdup_glue | ( | const char * | filename, |
int | line, | ||
const void * | ptr, | ||
size_t | len | ||
) |
ACL_API void acl_memory_alloc_stat | ( | void | ) |
ACL_API void acl_memory_debug_stack | ( | int | onoff | ) |
ACL_API int* acl_memory_debug_start | ( | void | ) |
ACL_API void acl_memory_debug_stop | ( | void | ) |
ACL_API void acl_memory_stat | ( | void | ) |
ACL_API void acl_mempool_close | ( | void | ) |
关闭内存池功能
ACL_API void acl_mempool_ctl | ( | int | name, |
... | |||
) |
当内存池打开后,可以通过此函数控制内存池状态
ACL_API void acl_mempool_open | ( | size_t | max_size, |
int | use_mutex | ||
) |
打开动态内存池功能
max_size | {size_t} 内存池最大空间大小,单位为字节 |
use_mutex | {int} 内存池内部是否采用互斥锁,如果是多线程程序则应该 设置 use_mutex 为非0值 |
ACL_API void acl_mempool_status | ( | void | ) |
将当前的内存池状态信息输出至日志或屏幕中
ACL_API int acl_mempool_total_allocated | ( | void | ) |
当前内存池已经分配的内存大小
ACL_API void* acl_realloc_glue | ( | const char * | filename, |
int | line, | ||
void * | ptr, | ||
size_t | size | ||
) |
ACL_API char* acl_strdup_glue | ( | const char * | filename, |
int | line, | ||
const char * | str | ||
) |
ACL_API char* acl_strndup_glue | ( | const char * | filename, |
int | line, | ||
const char * | str, | ||
size_t | len | ||
) |