문서의 선택한 두 판 사이의 차이를 보여줍니다.
— |
kb:visualcppcrtinitialization [2014/11/09 21:20] (현재) |
||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ====== Visual C++ CRT Initialization ====== | ||
+ | <code cpp> | ||
+ | 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; | ||
+ | } | ||
+ | </code> | ||
+ | 으아아!! | ||
+ | |||
+ | |||
+ | ====== 링크 ====== | ||
+ | * [[http://blogs.msdn.com/vcblog/archive/2006/10/20/crt-initialization.aspx | CRT Initialization]] | ||
+ | * [[http://www.codeguru.com/cpp/misc/misc/threadsprocesses/article.php/c6945/ | Running Code Before and After Main]] | ||
+ | |||
+ | ---- | ||
+ | * see also [[VisualCpp|Visual C++]] |