사용자 도구

사이트 도구


kb:visualcppcrtinitialization

Visual C++ CRT Initialization

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;
}

으아아!!

링크

kb/visualcppcrtinitialization.txt · 마지막으로 수정됨: 2014/11/09 21:20 (바깥 편집)