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)