summaryrefslogtreecommitdiffhomepage
path: root/FoundationEx/MemDebug.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'FoundationEx/MemDebug.cpp')
-rw-r--r--FoundationEx/MemDebug.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/FoundationEx/MemDebug.cpp b/FoundationEx/MemDebug.cpp
index 2694b33..4f3174f 100644
--- a/FoundationEx/MemDebug.cpp
+++ b/FoundationEx/MemDebug.cpp
@@ -45,7 +45,9 @@
// +--------------------------------------------------------------------+
+#ifndef FOUNDATION_USE_MFC
static Memory::LEVEL mem_chk_level = Memory::PERIODIC;
+#endif
#ifdef _DEBUG
static _CrtMemState mem_chk_p1,
@@ -61,6 +63,66 @@ static HANDLE mem_log_file = 0;
#define CrtClrDebugField(a) _CrtSetDbgFlag(~(a) & _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG))
#endif
+#ifdef FOUNDATION_USE_MFC
+
+#ifndef _DEBUG
+
+void* __cdecl operator new(unsigned int s, const char*, int)
+{
+ return ::operator new(s);
+}
+
+void __cdecl operator delete(void* p, const char*, int)
+{
+ ::operator delete(p);
+}
+
+#else
+
+// No definitions for the following:
+//void* __cdecl operator new(unsigned int s, const char*, int) {}
+//void __cdecl operator delete(void* p, const char*, int) {}
+
+#endif
+
+#else // if not defined FOUNDATION_USE_MFC
+
+#ifndef _DEBUG
+
+void* __cdecl operator new(unsigned int s, const char*, int)
+{
+ return ::operator new(s);
+}
+
+void __cdecl operator delete(void* p, const char*, int)
+{
+ ::operator delete(p);
+}
+
+#else
+
+// No definitions for the following:
+//void* __cdecl operator new(unsigned int, int, const char*, int) {}
+
+void* __cdecl operator new(unsigned int s, const char* f, int l)
+{
+ return ::operator new(s, 1, f, l);
+}
+
+void* __cdecl operator new(unsigned int s)
+{
+ return ::operator new(s, 1, __FILE__, __LINE__);
+}
+
+void __cdecl operator delete(void* p, const char*, int)
+{
+ ::operator delete(p);
+}
+
+#endif _DEBUG
+
+#endif FOUNDATION_USE_MFC
+
static void heapdump()
{
_HEAPINFO hinfo;
@@ -107,6 +169,7 @@ static void heapdump()
// +--------------------------------------------------------------------+
+#ifndef FOUNDATION_USE_MFC
void
Memory::OpenLog(const char* filename)
{
@@ -234,3 +297,5 @@ Memory::SetLevel(LEVEL l)
#endif
}
+#endif
+