사용자 도구

사이트 도구


kb:visualcppcrtinitialization

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

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++]]
kb/visualcppcrtinitialization.txt · 마지막으로 수정됨: 2014/11/09 21:20 (바깥 편집)