29 #ifndef GWENHYWFAR_MEMORY_H
30 #define GWENHYWFAR_MEMORY_H
50 # if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
51 # define GWEN_LOCATION_FUNCTION __PRETTY_FUNCTION__
53 # if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
54 # define GWEN_LOCATION_FUNCTION __func__
56 # define GWEN_LOCATION_FUNCTION ((__const char *) "unknown function")
79 #define GWEN_MEM_NEW(typ, memptr) \
80 memptr=(typ*)GWEN_Memory_malloc(sizeof(typ));
82 #define GWEN_MEM_FREE(varname) \
83 GWEN_Memory_dealloc((void*)varname);
86 #define GWEN_NEW_OBJECT(typ, varname)\
88 varname=(typ*)GWEN_Memory_malloc(sizeof(typ)); \
89 memset(varname, 0, sizeof(typ));\
92 #define GWEN_FREE_OBJECT(varname) \
93 GWEN_Memory_dealloc((void*)varname);
GWENHYWFAR_API void GWEN_Memory_dealloc(void *p)
GWENHYWFAR_API void GWEN_Memory_Dump(void)
GWENHYWFAR_API void * GWEN_Memory_realloc(void *oldp, size_t nsize)
GWENHYWFAR_API char * GWEN_Memory_strdup(const char *s)
GWENHYWFAR_API void GWEN_Memory_Collect(void)
GWENHYWFAR_API void * GWEN_Memory_malloc(size_t dsize)