acl  3.5.3.0
acl_mymalloc.h 文件参考
#include "acl_define.h"
#include "acl_malloc.h"
+ acl_mymalloc.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define acl_mymalloc(size)   acl_malloc_glue(__FILE__, __LINE__, size)
 
#define acl_mycalloc(nmemb, size)   acl_calloc_glue(__FILE__, __LINE__, nmemb, size)
 
#define acl_myrealloc(ptr, size)   acl_realloc_glue(__FILE__, __LINE__, (ptr), size)
 
#define acl_mystrdup(str)   acl_strdup_glue(__FILE__, __LINE__, (str))
 
#define acl_mystrndup(str, len)   acl_strndup_glue(__FILE__, __LINE__, (str), len)
 
#define acl_mymemdup(ptr, len)   acl_memdup_glue(__FILE__, __LINE__, (ptr), len)
 
#define acl_myfree(_ptr_)
 
#define acl_myfree_fn   acl_free_fn_glue
 

宏定义说明

◆ acl_mycalloc

#define acl_mycalloc (   nmemb,
  size 
)    acl_calloc_glue(__FILE__, __LINE__, nmemb, size)

动态分配内存的宏定义,初始化新分配的内存空间为零

参数
nmemb{size_t} 元素个数
size{size_t} 每个元素的长度
返回
{void *}

在文件 acl_mymalloc.h35 行定义.

◆ acl_myfree

#define acl_myfree (   _ptr_)
值:
do { \
if (_ptr_) { \
acl_free_glue(__FILE__, __LINE__, (_ptr_)); \
(_ptr_) = NULL; \
} \
} while (0)

释放动态分配的内存空间

参数
<em>ptr</em>{void*} 动态内存地址

在文件 acl_mymalloc.h72 行定义.

◆ acl_myfree_fn

#define acl_myfree_fn   acl_free_fn_glue

XXX: 因为该函数用于回调函数,所以无法进行宏定义转换, 将来再完善此函数

在文件 acl_mymalloc.h82 行定义.

◆ acl_mymalloc

#define acl_mymalloc (   size)    acl_malloc_glue(__FILE__, __LINE__, size)

动态分配内存的宏定义,不初始化新分配的内存空间

参数
size{size_t} 分配长度
返回
{void *}

在文件 acl_mymalloc.h27 行定义.

◆ acl_mymemdup

#define acl_mymemdup (   ptr,
  len 
)    acl_memdup_glue(__FILE__, __LINE__, (ptr), len)

动态复制内存宏定义

参数
ptr{const void*} 源内存地址
len{size_t} 源内存大小
返回
{void*} 新的字符串,需用 acl_myfree 释放

在文件 acl_mymalloc.h66 行定义.

◆ acl_myrealloc

#define acl_myrealloc (   ptr,
  size 
)    acl_realloc_glue(__FILE__, __LINE__, (ptr), size)

重新动态分配内存的宏定义

参数
ptr{void*} 原内存地址
size{size_t} 新分配内存时要求的长度
返回
{void *}

在文件 acl_mymalloc.h43 行定义.

◆ acl_mystrdup

#define acl_mystrdup (   str)    acl_strdup_glue(__FILE__, __LINE__, (str))

动态复制字符串宏定义

参数
str{const char*} 源字符串
返回
{char*} 新的字符串,需用 acl_myfree 释放

在文件 acl_mymalloc.h50 行定义.

◆ acl_mystrndup

#define acl_mystrndup (   str,
  len 
)    acl_strndup_glue(__FILE__, __LINE__, (str), len)

动态复制字符串宏定义,并限定最大内存空间大小

参数
str{const char*} 源字符串
len{size_t} 新字符串最大内存空间大小限制值
返回
{char*} 新的字符串,需用 acl_myfree 释放

在文件 acl_mymalloc.h58 行定义.