acl/lib_acl/include/stdlib/acl_mymalloc.h

88 lines
2.2 KiB
C
Raw Normal View History

2014-11-19 00:25:21 +08:00
/*
* @file mymalloc.h
* @author zsx
* @date 2003-12-15
* @version 1.0
* @brief <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ϊʹ<EFBFBD><EFBFBD>ACL<EFBFBD><EFBFBD>ʱ<EFBFBD>ĸ߼<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD>û<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<EFBFBD>ô˽ӿ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>, <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD> acl_mem_hook.h <EFBFBD>еĺ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD>ӿ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵȹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD> acl_myxxx <EFBFBD><EFBFBD>
* <EFBFBD>ĺ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
#ifndef ACL_MYMALLOC_INCLUDE_H
#define ACL_MYMALLOC_INCLUDE_H
#ifdef __cplusplus
extern "C" {
#endif
#include "acl_define.h"
#include "acl_malloc.h"
/**
* <EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD>
* @param size {size_t} <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return {void *}
*/
#define acl_mymalloc(size) acl_malloc_glue(__FILE__, __LINE__, size)
/**
* <EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD>Ϊ<EFBFBD><EFBFBD>
* @param nmemb {size_t} Ԫ<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>
* @param size {size_t} ÿ<EFBFBD><EFBFBD>Ԫ<EFBFBD>صij<EFBFBD><EFBFBD><EFBFBD>
* @return {void *}
*/
#define acl_mycalloc(nmemb, size) acl_calloc_glue(__FILE__, __LINE__, nmemb, size)
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD>
* @param ptr {void*} ԭ<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ַ
* @param size {size_t} <EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ʱҪ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>
* @return {void *}
*/
#define acl_myrealloc(ptr, size) acl_realloc_glue(__FILE__, __LINE__, (ptr), size)
/**
* <EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param str {const char*} Դ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @return {char*} <EFBFBD>µ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_myfree <EFBFBD>ͷ<EFBFBD>
*/
#define acl_mystrdup(str) acl_strdup_glue(__FILE__, __LINE__, (str))
/**
* <EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>С
* @param str {const char*} Դ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @param len {size_t} <EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return {char*} <EFBFBD>µ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_myfree <EFBFBD>ͷ<EFBFBD>
*/
#define acl_mystrndup(str, len) acl_strndup_glue(__FILE__, __LINE__, (str), len)
/**
* <EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param ptr {const void*} Դ<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ַ
* @param len {size_t} Դ<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>С
* @return {void*} <EFBFBD>µ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_myfree <EFBFBD>ͷ<EFBFBD>
*/
#define acl_mymemdup(ptr, len) acl_memdup_glue(__FILE__, __LINE__, (ptr), len)
/**
* <EFBFBD>ͷŶ<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD>
* @param _ptr_ {void*} <EFBFBD><EFBFBD>̬<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ַ
*/
#define acl_myfree(_ptr_) do { \
acl_free_glue(__FILE__, __LINE__, (_ptr_)); \
(_ptr_) = NULL; \
} while (0)
/**
* XXX: <EFBFBD><EFBFBD>Ϊ<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ˺<EFBFBD><EFBFBD><EFBFBD>
*/
#define acl_myfree_fn acl_free_fn_glue
#ifdef __cplusplus
}
#endif
#endif