00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __MEMORY_H
00013 #define __MEMORY_H
00014
00015 #include "LgiInc.h"
00016 #include "LgiOsDefs.h"
00017
00018 #ifndef __cplusplus
00019 typedef unsigned char bool;
00020 #endif
00021
00023 LgiFunc bool LgiCheckHeap();
00024
00026 LgiFunc bool LgiCanReadMemory
00027 (
00028 void *p,
00029 int Len
00030 #ifdef __cplusplus
00031 = 1
00032 #endif
00033 );
00034
00038 LgiFunc bool LgiDumpMemoryStats(char *filename);
00039
00040 #if (!defined(_MSC_VER) || _MSC_VER < 1310) && defined(WIN32)
00041
00042
00043 #if 0 // defined(_DEBUG)
00044
00045 #if defined(_MSC_VER) && _MSC_VER >= 1310
00046 #error "Visual C++ 2003 and later do not support redefining new and delete."
00047 #endif
00048
00049 #include <stdlib.h>
00050
00055 #define LGI_MEM_DEBUG 1
00056
00057 #ifdef __cplusplus
00058 void *operator new(size_t size);
00059 void *operator new[](size_t size);
00060 void operator delete[](void *p);
00061 void operator delete(void *p);
00062 #endif
00063
00064 LgiFunc void *lgi_malloc(size_t size);
00065 LgiFunc void *lgi_realloc(void *ptr, size_t size);
00066 LgiFunc void lgi_free(void *ptr);
00067
00068 #define malloc lgi_malloc
00069 #define free lgi_free
00070 #define realloc lgi_realloc
00071
00072 #else
00073
00074
00075
00076 #endif
00077
00078 #endif
00079
00080 #include <string.h>
00081
00082 #endif