HANDLE g_MyHeap = NULL; class NotUsingDefaultProcessHeap { public: void* operator new (size_t size) { return HeapAlloc(g_MyHeap, 0, size); } void* operator new [] (size_t size) { return HeapAlloc(g_MyHeap, 0, size); } void operator delete (void* ptr) { HeapFree(g_MyHeap, 0, ptr); } void operator delete [] (void* ptr) { HeapFree(g_MyHeap, 0, ptr); } ... }; NotUsingDefaultProcessHeap g_BuggyGlobalVariable; int main() { g_MyHeap = HeapCreate(0, 1024 * 1024, 0); ... HeapFree(g_MyHeap); return 0; }
으아아!!