#if !defined(__MEMORY_H__8545449A_89D5_4DF0_9251_738D37652884__INCLUDED__) #define __MEMORY_H__8545449A_89D5_4DF0_9251_738D37652884__INCLUDED__ 1 __inline void * _malloc( unsigned long size ) { if (0 == size) { return NULL; } return HeapAlloc(GetProcessHeap(), 0, size); } __inline void* _realloc( void* alloc_ptr, unsigned long size) { if (0 == size) { return NULL; } return HeapReAlloc(GetProcessHeap(), 0, alloc_ptr, size); } __inline void * _calloc( unsigned int nitems, unsigned long size ) { void * pRs = NULL; do { unsigned long n = nitems * size; if (0 == n) { break; } pRs = HeapAlloc(GetProcessHeap(), 0, n); if (NULL == pRs) { break; } memset(pRs, 0, n); } while (0); return pRs; } __inline void _free( void* p ) { HeapFree(GetProcessHeap(), 0, p); } #define malloc _malloc #define calloc _calloc #define realloc _realloc #define free _free #if defined(__cplusplus) __inline void * __cdecl operator new (unsigned int size) { if (0 == size) { size++; } return _malloc(size); } __inline void __cdecl operator delete (void *p) { _free(p); } #endif // defined(__cplusplus) #endif // !defined(__MEMORY_H__8545449A_89D5_4DF0_9251_738D37652884__INCLUDED__)