<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title type="text">Blog</title>
      <updated>2010-03-11T16:59:57P</updated>
   <id>http://snowvil.com/snowvil/?mid=blog&amp;act=atom</id>
   <link rel="alternate" type="text/html" hreflang="ko" href="http://snowvil.com/snowvil/blog"/>
   <link rel="self" type="application/atom+xml" href="http://snowvil.com/snowvil/?mid=blog&amp;act=atom"/>
   <generator uri="http://www.xpressengine.com/" version="1.2.4">XpressEngine</generator>
   <entry>
      <title>Dialog 기반에 CView를 붙여서 사용할 경우..</title>
      <id>http://snowvil.com/snowvil/3873</id>
      <published>2010-02-12T12:59:21P</published>
      <updated>2010-02-12T12:59:21P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3873"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3873#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;P&gt;Dialog 기반에 CView를 붙여서 사용할 경우.. &amp;nbsp;ON_WM_MOUSEACTIVATE() 가 정의되어있지않으면 오류가 난다.&lt;BR&gt;&lt;BR&gt;이걸 해결하기 위해서는 메세지 핸들을 추가해줘야한당..&lt;BR&gt;&lt;BR&gt;BEGIN_MESSAGE_MAP(CMyScrollView, CScrollView)&lt;BR&gt;&amp;nbsp;//{{AFX_MSG_MAP(CMyScrollView)&lt;BR&gt;&amp;nbsp;ON_WM_MOUSEACTIVATE()&lt;BR&gt;&amp;nbsp;//}}AFX_MSG_MAP&lt;BR&gt;END_MESSAGE_MAP()&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;afx_msg int OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message);&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;int CMyScrollView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message) &lt;/P&gt;
&lt;P&gt;{&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO: Add your message handler code here and/or call default&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp; return CView::OnMouseActivate(pDesktopWnd, nHitTest, message);&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return MA_ACTIVATE;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;}&lt;/P&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>xdebug, xlocale 관련 에러..</title>
      <id>http://snowvil.com/snowvil/3856</id>
      <published>2010-02-04T21:18:40P</published>
      <updated>2010-02-04T21:18:40P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3856"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3856#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;#ifdef _DEBUG&lt;BR&gt;#define new DEBUG_NEW&lt;BR&gt;#endif&lt;BR&gt;&lt;BR&gt;아래에 헤더를 선언한 경우 생기는 문제점.. 즉 헤더는 위로..&lt;BR&gt;===============================================&lt;BR&gt;Compiling...&lt;BR&gt;unittestDlg.cpp&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : warning C4229: anachronism used : modifiers on data are ignored&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : error C2365: &apos;operator new&apos; : redefinition; previous definition was &apos;function&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : error C2491: &apos;new&apos; : definition of dllimport data not allowed&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : error C2078: too many initializers&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : error C2440: &apos;initializing&apos; : cannot convert from &apos;int&apos; to &apos;void *&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : error C2143: syntax error : missing &apos;;&apos; before &apos;(&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(32) : error C2226: syntax error : unexpected type &apos;size_t&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(33) : error C2059: syntax error : &apos;)&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : warning C4229: anachronism used : modifiers on data are ignored&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C2365: &apos;operator new&apos; : redefinition; previous definition was &apos;function&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C2491: &apos;new&apos; : definition of dllimport data not allowed&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C2078: too many initializers&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C2440: &apos;initializing&apos; : cannot convert from &apos;int&apos; to &apos;void *&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C2143: syntax error : missing &apos;;&apos; before &apos;[&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C3409: empty attribute block is not allowed&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xdebug(36) : error C2226: syntax error : unexpected type &apos;size_t&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(138) : error C2059: syntax error : &apos;string&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(139) : error C2091: function returns function&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(139) : error C2802: static member &apos;operator new&apos; has no formal parameters&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(139) : error C2333: &apos;std::locale::facet::operator new&apos; : error in function declaration; skipping function body&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(144) : error C2059: syntax error : &apos;string&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(146) : error C2091: function returns function&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(146) : error C2556: &apos;void *(__cdecl *std::locale::facet::operator new(void))(size_t,const std::_DebugHeapTag_t &amp;amp;,char *,int)&apos; : overloaded function differs only by return type from &apos;void *(__cdecl *std::locale::facet::operator new(void))(size_t)&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(138) : see declaration of &apos;std::locale::facet::operator new&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(147) : error C2059: syntax error : &apos;return&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(147) : error C2238: unexpected token(s) preceding &apos;;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(150) : error C2628: &apos;std::locale::facet&apos; followed by &apos;void&apos; is illegal (did you forget a &apos;;&apos;?)&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(152) : error C2817: return type for &apos;operator delete&apos; must be &apos;void&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(152) : error C2333: &apos;std::locale::operator delete&apos; : error in function declaration; skipping function body&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(164) : error C2523: &apos;std::locale::~facet&apos; : destructor tag mismatch&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C2146: syntax error : missing &apos;)&apos; before identifier &apos;_Initrefs&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C2146: syntax error : missing &apos;;&apos; before identifier &apos;_Initrefs&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C2071: &apos;std::locale::size_t&apos; : illegal storage class&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C2059: syntax error : &apos;)&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C2864: &apos;std::locale::_Initrefs&apos; : only static const integral data members can be initialized within a class&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(169) : error C2143: syntax error : missing &apos;;&apos; before &apos;:&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(170) : error C2065: &apos;_Initrefs&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(170) : error C3861: &apos;_Refs&apos;: identifier not found&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(171) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(171) : error C2473: &apos;&amp;lt;alignment member&amp;gt;&apos; : looks like a function definition, but there is no parameter list.&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(174) : error C2059: syntax error : &apos;private&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(174) : error C2143: syntax error : missing &apos;;&apos; before &apos;:&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(71) : error C2059: syntax error : &apos;:&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(112) : error C2327: &apos;std::locale::size_t&apos; : is not a type name, static, or enumerator&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(118) : error C2327: &apos;std::locale::size_t&apos; : is not a type name, static, or enumerator&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(126) : error C2327: &apos;std::locale::size_t&apos; : is not a type name, static, or enumerator&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(134) : error C3861: &apos;facet_Register&apos;: identifier not found&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(175) : error C2065: &apos;facet&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(175) : error C2059: syntax error : &apos;)&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(177) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(177) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(177) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C2143: syntax error : missing &apos;;&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C2365: &apos;std::facet&apos; : redefinition; previous definition was &apos;function&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(177) : see declaration of &apos;std::facet&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(178) : error C2801: &apos;std::operator =&apos; must be a non-static member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(186) : error C2516: &apos;facet&apos; : is not a legal base class&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(196) : error C2061: syntax error : identifier &apos;facet&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(211) : error C2061: syntax error : identifier &apos;facet&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(216) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(216) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(219) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(219) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(223) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(223) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(227) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(227) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(230) : error C2143: syntax error : missing &apos;;&apos; before &apos;*&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(230) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(230) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(232) : error C2146: syntax error : missing &apos;;&apos; before identifier &apos;_Catmask&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(232) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(232) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(234) : error C2146: syntax error : missing &apos;;&apos; before identifier &apos;_Name&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(234) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(234) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(199) : error C2027: use of undefined type &apos;locale&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(197) : see declaration of &apos;locale&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(201) : error C2065: &apos;none&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(202) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;_Name&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(202) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;_Catmask&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(202) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;_Facetvec&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(202) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;facet&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(204) : error C2027: use of undefined type &apos;locale&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(197) : see declaration of &apos;locale&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(206) : error C2039: &apos;_Catmask&apos; : is not a member of &apos;_Locimp&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(185) : see declaration of &apos;_Locimp&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(206) : error C2039: &apos;_Name&apos; : is not a member of &apos;_Locimp&apos;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(185) : see declaration of &apos;_Locimp&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(207) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;_Name&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(207) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;_Catmask&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(207) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;_Facetvec&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(207) : error C2614: &apos;_Locimp&apos; : illegal member initialization: &apos;facet&apos; is not a base or member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(213) : error C2065: &apos;_Pfacet&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(213) : error C2065: &apos;_Id&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(247) : error C2065: &apos;_Fac&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(247) : error C2275: &apos;size_t&apos; : illegal use of this type as an expression&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e:\my projects\unittest\unittest\stdafx.cpp : see declaration of &apos;size_t&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(247) : error C2146: syntax error : missing &apos;)&apos; before identifier &apos;_Id&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(247) : error C2078: too many initializers&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(247) : error C2275: &apos;size_t&apos; : illegal use of this type as an expression&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e:\my projects\unittest\unittest\stdafx.cpp : see declaration of &apos;size_t&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(248) : error C2059: syntax error : &apos;)&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(249) : error C2143: syntax error : missing &apos;;&apos; before &apos;{&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(249) : error C2447: &apos;{&apos; : missing function header (old-style formal list?)&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(265) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(265) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;lt;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(273) : error C2270: &apos;()&apos; : modifiers not allowed on nonmember functions&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(273) : error C2801: &apos;operator ()&apos; must be a non-static member&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(291) : error C2270: &apos;combine&apos; : modifiers not allowed on nonmember functions&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(294) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(294) : error C2904: &apos;locale&apos; : name already used for a template in the current scope&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c:\program files\microsoft visual studio 8\vc\include\xlocale(197) : see declaration of &apos;locale&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(307) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(307) : error C3861: &apos;_Init&apos;: identifier not found&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(308) : error C2550: &apos;locale&apos; : constructor initializer lists are only allowed on constructor definitions&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(309) : error C2227: left of &apos;-&amp;gt;_Incref&apos; must point to class/struct/union/generic type&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type is &apos;&apos;unknown-type&apos;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(309) : error C3861: &apos;_Getgloballocale&apos;: identifier not found&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(310) : warning C4508: &apos;locale&apos; : function should return a value; &apos;void&apos; return type assumed&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(312) : error C2065: &apos;_Uninitialized&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(313) : error C2448: &apos;locale&apos; : function-style initializer appears to be a function definition&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(316) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(316) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(317) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(317) : error C2065: &apos;_Right&apos; : undeclared identifier&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(317) : error C2228: left of &apos;._Ptr&apos; must have class/struct/union&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type is &apos;&apos;unknown-type&apos;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(318) : error C2550: &apos;locale&apos; : constructor initializer lists are only allowed on constructor definitions&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(319) : error C2227: left of &apos;-&amp;gt;_Incref&apos; must point to class/struct/union/generic type&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type is &apos;&apos;unknown-type&apos;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(320) : warning C4508: &apos;locale&apos; : function should return a value; &apos;void&apos; return type assumed&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(322) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(322) : error C2143: syntax error : missing &apos;,&apos; before &apos;&amp;amp;&apos;&lt;BR&gt;c:\program files\microsoft visual studio 8\vc\include\xlocale(324) : error C4430: missing type specifier - int assumed. &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/div&gt;</content>
                  <category term="xdebug"/>
            <category term="xlocale"/>
            
   </entry>
   <entry>
      <title>09.12.12. 백플로우..</title>
      <id>http://snowvil.com/snowvil/3841</id>
      <published>2009-12-28T14:23:35P</published>
      <updated>2009-12-28T14:26:41P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3841"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3841#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;center&gt;&lt;OBJECT codeBase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=502 align=middle height=399 type=application/x-shockwave-flash&gt;&lt;PARAM NAME=&quot;_cx&quot; VALUE=&quot;13282&quot;&gt;&lt;PARAM NAME=&quot;_cy&quot; VALUE=&quot;10556&quot;&gt;&lt;PARAM NAME=&quot;FlashVars&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Movie&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=8_NNtO6zREw$&quot;&gt;&lt;PARAM NAME=&quot;Src&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=8_NNtO6zREw$&quot;&gt;&lt;PARAM NAME=&quot;WMode&quot; VALUE=&quot;Window&quot;&gt;&lt;PARAM NAME=&quot;Play&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Loop&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Quality&quot; VALUE=&quot;High&quot;&gt;&lt;PARAM NAME=&quot;SAlign&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Menu&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Base&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;AllowScriptAccess&quot; VALUE=&quot;always&quot;&gt;&lt;PARAM NAME=&quot;Scale&quot; VALUE=&quot;ShowAll&quot;&gt;&lt;PARAM NAME=&quot;DeviceFont&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;EmbedMovie&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;BGColor&quot; VALUE=&quot;000000&quot;&gt;&lt;PARAM NAME=&quot;SWRemote&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;MovieData&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;SeamlessTabbing&quot; VALUE=&quot;1&quot;&gt;&lt;PARAM NAME=&quot;Profile&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;ProfileAddress&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;ProfilePort&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;AllowNetworking&quot; VALUE=&quot;all&quot;&gt;&lt;PARAM NAME=&quot;AllowFullScreen&quot; VALUE=&quot;true&quot;&gt;
&lt;embed src=&apos;http://flvs.daum.net/flvPlayer.swf?vid=8_NNtO6zREw$&apos; width=&apos;502px&apos; height=&apos;399px&apos; allowScriptAccess=&apos;always&apos; type=&apos;application/x-shockwave-flash&apos; allowFullScreen=&apos;true&apos; bgcolor=&apos;#000000&apos; &gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;br /&gt;

&lt;OBJECT codeBase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=502 align=middle height=399 type=application/x-shockwave-flash&gt;&lt;PARAM NAME=&quot;_cx&quot; VALUE=&quot;13282&quot;&gt;&lt;PARAM NAME=&quot;_cy&quot; VALUE=&quot;10556&quot;&gt;&lt;PARAM NAME=&quot;FlashVars&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Movie&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=UBa1AlWkKZw$&quot;&gt;&lt;PARAM NAME=&quot;Src&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=UBa1AlWkKZw$&quot;&gt;&lt;PARAM NAME=&quot;WMode&quot; VALUE=&quot;Window&quot;&gt;&lt;PARAM NAME=&quot;Play&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Loop&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Quality&quot; VALUE=&quot;High&quot;&gt;&lt;PARAM NAME=&quot;SAlign&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Menu&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Base&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;AllowScriptAccess&quot; VALUE=&quot;always&quot;&gt;&lt;PARAM NAME=&quot;Scale&quot; VALUE=&quot;ShowAll&quot;&gt;&lt;PARAM NAME=&quot;DeviceFont&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;EmbedMovie&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;BGColor&quot; VALUE=&quot;000000&quot;&gt;&lt;PARAM NAME=&quot;SWRemote&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;MovieData&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;SeamlessTabbing&quot; VALUE=&quot;1&quot;&gt;&lt;PARAM NAME=&quot;Profile&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;ProfileAddress&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;ProfilePort&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;AllowNetworking&quot; VALUE=&quot;all&quot;&gt;&lt;PARAM NAME=&quot;AllowFullScreen&quot; VALUE=&quot;true&quot;&gt;
&lt;embed src=&apos;http://flvs.daum.net/flvPlayer.swf?vid=UBa1AlWkKZw$&apos; width=&apos;502px&apos; height=&apos;399px&apos; allowScriptAccess=&apos;always&apos; type=&apos;application/x-shockwave-flash&apos; allowFullScreen=&apos;true&apos; bgcolor=&apos;#000000&apos; &gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;br /&gt;

&lt;OBJECT codeBase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=502 align=middle height=399 type=application/x-shockwave-flash&gt;&lt;PARAM NAME=&quot;_cx&quot; VALUE=&quot;13282&quot;&gt;&lt;PARAM NAME=&quot;_cy&quot; VALUE=&quot;10556&quot;&gt;&lt;PARAM NAME=&quot;FlashVars&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Movie&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=75dG9ILnJ1E$&quot;&gt;&lt;PARAM NAME=&quot;Src&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=75dG9ILnJ1E$&quot;&gt;&lt;PARAM NAME=&quot;WMode&quot; VALUE=&quot;Window&quot;&gt;&lt;PARAM NAME=&quot;Play&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Loop&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Quality&quot; VALUE=&quot;High&quot;&gt;&lt;PARAM NAME=&quot;SAlign&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Menu&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Base&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;AllowScriptAccess&quot; VALUE=&quot;always&quot;&gt;&lt;PARAM NAME=&quot;Scale&quot; VALUE=&quot;ShowAll&quot;&gt;&lt;PARAM NAME=&quot;DeviceFont&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;EmbedMovie&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;BGColor&quot; VALUE=&quot;000000&quot;&gt;&lt;PARAM NAME=&quot;SWRemote&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;MovieData&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;SeamlessTabbing&quot; VALUE=&quot;1&quot;&gt;&lt;PARAM NAME=&quot;Profile&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;ProfileAddress&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;ProfilePort&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;AllowNetworking&quot; VALUE=&quot;all&quot;&gt;&lt;PARAM NAME=&quot;AllowFullScreen&quot; VALUE=&quot;true&quot;&gt;
&lt;embed src=&apos;http://flvs.daum.net/flvPlayer.swf?vid=75dG9ILnJ1E$&apos; width=&apos;502px&apos; height=&apos;399px&apos; allowScriptAccess=&apos;always&apos; type=&apos;application/x-shockwave-flash&apos; allowFullScreen=&apos;true&apos; bgcolor=&apos;#000000&apos; &gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;br /&gt;

&lt;OBJECT codeBase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=502 align=middle height=399 type=application/x-shockwave-flash&gt;&lt;PARAM NAME=&quot;_cx&quot; VALUE=&quot;13282&quot;&gt;&lt;PARAM NAME=&quot;_cy&quot; VALUE=&quot;10556&quot;&gt;&lt;PARAM NAME=&quot;FlashVars&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Movie&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=wxUHaRChkDs$&quot;&gt;&lt;PARAM NAME=&quot;Src&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=wxUHaRChkDs$&quot;&gt;&lt;PARAM NAME=&quot;WMode&quot; VALUE=&quot;Window&quot;&gt;&lt;PARAM NAME=&quot;Play&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Loop&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Quality&quot; VALUE=&quot;High&quot;&gt;&lt;PARAM NAME=&quot;SAlign&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Menu&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Base&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;AllowScriptAccess&quot; VALUE=&quot;always&quot;&gt;&lt;PARAM NAME=&quot;Scale&quot; VALUE=&quot;ShowAll&quot;&gt;&lt;PARAM NAME=&quot;DeviceFont&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;EmbedMovie&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;BGColor&quot; VALUE=&quot;000000&quot;&gt;&lt;PARAM NAME=&quot;SWRemote&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;MovieData&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;SeamlessTabbing&quot; VALUE=&quot;1&quot;&gt;&lt;PARAM NAME=&quot;Profile&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;ProfileAddress&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;ProfilePort&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;AllowNetworking&quot; VALUE=&quot;all&quot;&gt;&lt;PARAM NAME=&quot;AllowFullScreen&quot; VALUE=&quot;true&quot;&gt;
&lt;embed src=&apos;http://flvs.daum.net/flvPlayer.swf?vid=wxUHaRChkDs$&apos; width=&apos;502px&apos; height=&apos;399px&apos; allowScriptAccess=&apos;always&apos; type=&apos;application/x-shockwave-flash&apos; allowFullScreen=&apos;true&apos; bgcolor=&apos;#000000&apos; &gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;br /&gt;

&lt;OBJECT codeBase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=502 align=middle height=399 type=application/x-shockwave-flash&gt;&lt;PARAM NAME=&quot;_cx&quot; VALUE=&quot;13282&quot;&gt;&lt;PARAM NAME=&quot;_cy&quot; VALUE=&quot;10556&quot;&gt;&lt;PARAM NAME=&quot;FlashVars&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Movie&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=yut3TfH6jX4$&quot;&gt;&lt;PARAM NAME=&quot;Src&quot; VALUE=&quot;http://flvs.daum.net/flvPlayer.swf?vid=yut3TfH6jX4$&quot;&gt;&lt;PARAM NAME=&quot;WMode&quot; VALUE=&quot;Window&quot;&gt;&lt;PARAM NAME=&quot;Play&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Loop&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Quality&quot; VALUE=&quot;High&quot;&gt;&lt;PARAM NAME=&quot;SAlign&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;Menu&quot; VALUE=&quot;-1&quot;&gt;&lt;PARAM NAME=&quot;Base&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;AllowScriptAccess&quot; VALUE=&quot;always&quot;&gt;&lt;PARAM NAME=&quot;Scale&quot; VALUE=&quot;ShowAll&quot;&gt;&lt;PARAM NAME=&quot;DeviceFont&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;EmbedMovie&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;BGColor&quot; VALUE=&quot;000000&quot;&gt;&lt;PARAM NAME=&quot;SWRemote&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;MovieData&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;SeamlessTabbing&quot; VALUE=&quot;1&quot;&gt;&lt;PARAM NAME=&quot;Profile&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;ProfileAddress&quot; VALUE=&quot;&quot;&gt;&lt;PARAM NAME=&quot;ProfilePort&quot; VALUE=&quot;0&quot;&gt;&lt;PARAM NAME=&quot;AllowNetworking&quot; VALUE=&quot;all&quot;&gt;&lt;PARAM NAME=&quot;AllowFullScreen&quot; VALUE=&quot;true&quot;&gt;
&lt;embed src=&apos;http://flvs.daum.net/flvPlayer.swf?vid=yut3TfH6jX4$&apos; width=&apos;502px&apos; height=&apos;399px&apos; allowScriptAccess=&apos;always&apos; type=&apos;application/x-shockwave-flash&apos; allowFullScreen=&apos;true&apos; bgcolor=&apos;#000000&apos; &gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;br /&gt;
&lt;/center&gt;&lt;/div&gt;</content>
                  <category term="BackFlow"/>
            
   </entry>
   <entry>
      <title>Invalid Address specified to RtlValidateHeap</title>
      <id>http://snowvil.com/snowvil/3839</id>
      <published>2009-10-31T05:41:45P</published>
      <updated>2009-10-31T05:41:45P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3839"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3839#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;에러 : Invalid Address specified to RtlValidateHeap&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;malloc으로 할당한 놈을 free할 때 발생하는 현상이었다. &lt;BR&gt;&lt;BR&gt;원인은 서로 다른 C RTL을 사용하고 있어서 이다&lt;BR&gt;Project Property-&amp;gt;C/C++-&amp;gt;Code generation-&amp;gt;runtime library를 같은 것으로 맞춰 주면 된다.&lt;BR&gt;&lt;BR&gt;fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h 24
&lt;DIV&gt;이는, MFC 프로그래밍시 솔루션 속성 설정에서 &apos;공유 DLL 에서 MFC 사용&apos; 항목이 선택되지 않았기 때문일 수 있다.&lt;/DIV&gt;
&lt;DIV&gt;Debug 모드에서 &quot;공유 DLL 에서 MFC 사용&quot; 으로 했더라도,&lt;BR&gt;Release 모드에서 다시 이 설정을 선택 적용해줘야 한다.&lt;BR&gt;(Debug 모드와 Release 모드의 속성설정이 별도로 적용됨)&lt;/DIV&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>D3DXFont  사용하기</title>
      <id>http://snowvil.com/snowvil/3835</id>
      <published>2009-10-13T19:50:52P</published>
      <updated>2009-10-13T19:50:52P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3835"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3835#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&amp;nbsp;FPS를 출력하기 위해서는 우선 D3D에서 제공하는 폰트 클래스부터 이용하여 문자를 출력한 후에 설명하겠다..&lt;BR&gt;&lt;BR&gt;1.&amp;nbsp; View 클래스에 멤버 변수로 Font Desc 구조체와 실제 등록할 폰트 변수를 선언한다.&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;View 클래스에 멤버변수 선언&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;public:
&amp;nbsp;//D3DXFont 관련 변수
&amp;nbsp;LPD3DXSPRITE&amp;nbsp;&amp;nbsp;m_pSprite;
&amp;nbsp;LPD3DXFONT&amp;nbsp;&amp;nbsp;&amp;nbsp;m_pFont; // 실제 폰트 객체 포인터 ( 생성자에서 NULL 초기화 잊지말자 )
&amp;nbsp;D3DXFONT_DESC desc; // D3DFont 를 사용하기 위한. 설정
&amp;nbsp;LPD3DXFONT&amp;nbsp;&amp;nbsp;m_pFont_Eng8;
&amp;nbsp;LPD3DXFONT&amp;nbsp;&amp;nbsp;m_pFont_Eng12;
&amp;nbsp;LPD3DXFONT&amp;nbsp;&amp;nbsp;m_pFont_Kor8;
&amp;nbsp;LPD3DXFONT&amp;nbsp;&amp;nbsp;m_pFont_Kor12;
&lt;/pre&gt;&lt;BR&gt;2.&amp;nbsp; 폰트 초기화 함수 등록 후 OnInitialize 함수에서 초기화한다.&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;View 클래스에 함수 등록 하여 사용&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;// 폰트 초기화 함수
void CEx1View::D3DFontInit(void)
{
&amp;nbsp;this-&amp;gt;desc.CharSet = DEFAULT_CHARSET;
&amp;nbsp;_tcscpy_s(desc.FaceName, _countof(desc.FaceName), _T(&quot;tahoma&quot;));
&amp;nbsp;this-&amp;gt;desc.Weight = 500;
&amp;nbsp;this-&amp;gt;desc.Quality = DEFAULT_QUALITY;
&amp;nbsp;this-&amp;gt;desc.MipLevels = D3DX_DEFAULT;
&amp;nbsp;this-&amp;gt;desc.Italic = 0;
&amp;nbsp;this-&amp;gt;desc.OutputPrecision = OUT_DEFAULT_PRECIS;
&amp;nbsp;this-&amp;gt;desc.PitchAndFamily = FF_DONTCARE;
&amp;nbsp;this-&amp;gt;desc.Width = 8;
&amp;nbsp;this-&amp;gt;desc.Height = desc.Width + (int)(desc.Width/2);
&amp;nbsp;D3DXCreateFontIndirect(this-&amp;gt;m_pd3dDevice,&amp;amp;this-&amp;gt;desc,&amp;amp;this-&amp;gt;m_pFont_Eng8);
&amp;nbsp;this-&amp;gt;desc.Width = 12;
&amp;nbsp;this-&amp;gt;desc.Height = desc.Width + (int)(desc.Width/2);
&amp;nbsp;D3DXCreateFontIndirect(this-&amp;gt;m_pd3dDevice,&amp;amp;this-&amp;gt;desc,&amp;amp;this-&amp;gt;m_pFont_Eng12);
&amp;nbsp;this-&amp;gt;desc.CharSet = HANGEUL_CHARSET;
&amp;nbsp;_tcscpy_s(desc.FaceName, _countof(desc.FaceName), _T(&quot;한글폰트네임&quot;));
&amp;nbsp;this-&amp;gt;desc.Width = 8;
&amp;nbsp;this-&amp;gt;desc.Height = desc.Width + (int)(desc.Width/2);
&amp;nbsp;D3DXCreateFontIndirect(this-&amp;gt;m_pd3dDevice,&amp;amp;this-&amp;gt;desc,&amp;amp;this-&amp;gt;m_pFont_Kor8);
&amp;nbsp;this-&amp;gt;desc.Width = 12;
&amp;nbsp;this-&amp;gt;desc.Height = desc.Width + (int)(desc.Width/2);
&amp;nbsp;D3DXCreateFontIndirect(this-&amp;gt;m_pd3dDevice,&amp;amp;this-&amp;gt;desc,&amp;amp;this-&amp;gt;m_pFont_Kor12);

&amp;nbsp;//폰트 리소스의 등록
&amp;nbsp;//1. 현재경로구하기
&amp;nbsp;TCHAR szModulePath[255*4];
&amp;nbsp;ZeroMemory(szModulePath, sizeof(szModulePath));
&amp;nbsp;::GetModuleFileName(NULL, szModulePath, sizeof(szModulePath));

&amp;nbsp;// 2. Get Path
&amp;nbsp;CString strPath = szModulePath;
&amp;nbsp;int nPos = strPath.ReverseFind(_T(&apos;\\&apos;));
&amp;nbsp;strPath = strPath.Left(nPos+1);
&amp;nbsp;//폰트등록
&amp;nbsp;CString tmp = strPath + _T(&quot;한글폰트네임.ttf&quot;);
&amp;nbsp;AddFontResource(tmp);
}


void CEx1View::OnInitialUpdate()
{
&amp;nbsp;//Sprite 의 생성
&amp;nbsp;D3DXCreateSprite(this-&amp;gt;m_pd3dDevice, &amp;amp;this-&amp;gt;m_pSprite);&amp;nbsp; // DX_9.0c&amp;nbsp;,이상에서는 폰트는 Sprite를 통해서 출력해야함
&amp;nbsp;//D3DXFont 클래스의 초기화
&amp;nbsp;this-&amp;gt;D3DFontInit();
&amp;nbsp;}
&lt;/pre&gt;&lt;BR&gt;실제 위 함수에서는 폰트파일이 Font 폴더에 없을경우 함께 배포하게 될때 사용되는 AddFontResource도 넣어뒀다.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;3. 종료시 FontResource 의 해제&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;CleanUp() 에 넣어서 함께 처리&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;&quot;&gt;&amp;nbsp;//폰트 리소스의 해제
&amp;nbsp;//1. 현재경로구하기
&amp;nbsp;TCHAR szModulePath[255*4];
&amp;nbsp;ZeroMemory(szModulePath, sizeof(szModulePath));
&amp;nbsp;::GetModuleFileName(NULL, szModulePath, sizeof(szModulePath));
&amp;nbsp;// 2. Get Path
&amp;nbsp;CString strPath = szModulePath;
&amp;nbsp;int nPos = strPath.ReverseFind(_T(&apos;\\&apos;));
&amp;nbsp;strPath = strPath.Left(nPos+1);
&amp;nbsp;//폰트해제
&amp;nbsp;CString tmp = strPath + _T(&quot;한글폰트네임.ttf&quot;);
&amp;nbsp;RemoveFontResource(tmp);&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;4.&amp;nbsp; 실제 폰트의 Draw 부분&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;DrawFont&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;&quot;&gt;//폰트관련 
#define ENG8 0
#define ENG12 1
#define KOR8 2
#define KOR12 3

// 폰트출력
void CEx1View::DrawFont(const CString&amp;amp; str,int SelectFont, int DestX, int DestY, int Width, int Height,UINT format, D3DCOLOR Color)
{
&amp;nbsp;RECT rect;
&amp;nbsp;SetRect(&amp;amp;rect,DestX,DestY,DestX+Width,DestY+Height);
&amp;nbsp;
&amp;nbsp;switch(SelectFont)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;case ENG8:
&amp;nbsp;&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pFont = this-&amp;gt;m_pFont_Eng8;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;&amp;nbsp;case ENG12:
&amp;nbsp;&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pFont = this-&amp;gt;m_pFont_Eng12;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;&amp;nbsp;case KOR8:
&amp;nbsp;&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pFont = this-&amp;gt;m_pFont_Kor8;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;&amp;nbsp;case KOR12:
&amp;nbsp;&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pFont = this-&amp;gt;m_pFont_Kor12;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;}
&amp;nbsp;this-&amp;gt;m_pFont-&amp;gt;DrawText(this-&amp;gt;m_pSprite,LPCTSTR(str),-1,&amp;amp;rect,format,Color);
}
&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/div&gt;</content>
                  <category term="MFC"/>
            <category term="DirectX"/>
            
   </entry>
   <entry>
      <title>MFC  DirectX9 초기화하기</title>
      <id>http://snowvil.com/snowvil/3799</id>
      <published>2009-10-13T18:40:13P</published>
      <updated>2009-10-13T18:53:11P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3799"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3799#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;stdafx.h&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;DirectX Include&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;
#include&amp;lt;d3dx9.h&amp;gt;
#include &amp;lt;d3d9.h&amp;gt;
#include &amp;lt;d3dx9.h&amp;gt;
#pragma comment(lib, &quot;d3d9&quot;)
#ifdef _DEBUG
#pragma comment(lib, &quot;d3dx9d&quot;)
#else
#pragma comment(lib, &quot;d3dx9&quot;)
#endif
&lt;/pre&gt;↑ Stdafx.h 파일에 각 파일 포함하는 내용&lt;BR&gt;&lt;BR&gt;1. View 클래스에 객체를 사용하기 위해 멤버변수를 등록&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.h&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;객체 변수 선언&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;// 작업입니다.
public:
&amp;nbsp;//DirectX 9 Var
&amp;nbsp;bool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_bComplete;&amp;nbsp;//초기화 완료후 실제 DIRECTX 사용가능 플래그 (생성자에서 FALSE로 초기화)
&amp;nbsp;CRect&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_rcClient;
&amp;nbsp;LPDIRECT3D9&amp;nbsp;&amp;nbsp;&amp;nbsp;m_pD3D;&amp;nbsp;&amp;nbsp;&amp;nbsp;//D3D 디바이스를 생성할 D3D 객체변수
&amp;nbsp;LPDIRECT3DDEVICE9&amp;nbsp;m_pd3dDevice;&amp;nbsp;//렌더링에 사용될 D3D 디바이스&lt;/pre&gt;&lt;BR&gt;2. 객체의 초기화&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;View 생성자 객체 초기화&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;CXXXView::CXXXView()
{
&amp;nbsp;// TODO: 여기에 생성 코드를 추가합니다.
&amp;nbsp;this-&amp;gt;m_bComplete = FALSE;
&amp;nbsp;this-&amp;gt;m_pD3D = NULL;
&amp;nbsp;this-&amp;gt;m_pd3dDevice = NULL;
}
&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;3.&amp;nbsp;실제 Initialize -&amp;gt;&amp;nbsp;OnInitialUpdate() 재정의하여 작성&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;실제 Initialize 부분&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;void CXXXView::OnInitialUpdate()
{
&amp;nbsp;CView::OnInitialUpdate();
&amp;nbsp;// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
&amp;nbsp;// 디바이스 생성을 위한 D3D 객체 생성
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;AfxMessageBox(_T(&quot;D3D 객체 생성 실패&quot;));
&amp;nbsp;&amp;nbsp;return;
&amp;nbsp;}
&amp;nbsp;//윈도우 싸이즈를 얻는다.
&amp;nbsp;GetClientRect(&amp;amp;this-&amp;gt;m_rcClient);
&amp;nbsp;// 디바이스 생성을 위한 구조체
&amp;nbsp;D3DPRESENT_PARAMETERS d3dpp;
&amp;nbsp;// 반드시 구조체를 초기화 한후 사용
&amp;nbsp;ZeroMemory(&amp;amp;d3dpp,sizeof(d3dpp));
&amp;nbsp;d3dpp.Windowed = TRUE;&amp;nbsp;//창모드
&amp;nbsp;d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;&amp;nbsp;//가장 효율적인 SWAP 효과
&amp;nbsp;d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;&amp;nbsp;// FPS 오류를 방지하기위해 무조건 그리기
&amp;nbsp;d3dpp.BackBufferCount = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//백버퍼 개수 설정&amp;nbsp;
&amp;nbsp;d3dpp.BackBufferWidth = this-&amp;gt;m_rcClient.Width();
&amp;nbsp;d3dpp.BackBufferHeight = this-&amp;gt;m_rcClient.Height();
&amp;nbsp;d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;&amp;nbsp;&amp;nbsp;//바탕화면 사이즈의 후면버터 생성
&amp;nbsp;// 실제 디바이스를 설정한다.
&amp;nbsp;// 1 디폴트 비디오카드를 사용한다.
&amp;nbsp;// 2 HAL 디바이스를 생성한다.
&amp;nbsp;// 3 정점 처리를 모든 카드에서 지원하는 SW처리로 생성한다.
&amp;nbsp;if(FAILED( this-&amp;gt;m_pD3D-&amp;gt;CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,GetSafeHwnd(),D3DCREATE_SOFTWARE_VERTEXPROCESSING,&amp;amp;d3dpp,&amp;amp;this-&amp;gt;m_pd3dDevice) ))
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;AfxMessageBox(_T(&quot;D3D 디바이스 생성 실패&quot;));&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;return;
&amp;nbsp;}
&amp;nbsp;
&amp;nbsp;this-&amp;gt;m_bComplete = TRUE;

&amp;nbsp;
}
&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;4. Render() 함수 구현 View -&amp;gt; 함수 추가하여 사용&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;실제 렌더링 함수&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;// 렌더링 함수
void CEx1View::Render(void)
{
&amp;nbsp;if(!this-&amp;gt;m_pd3dDevice)
&amp;nbsp;&amp;nbsp;return;
&amp;nbsp;//후면버퍼 클린 블랙으로 채움
&amp;nbsp;this-&amp;gt;m_pd3dDevice-&amp;gt;Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_RGBA(0,0,0,255),1.0f,0);
&amp;nbsp;if(SUCCEEDED( this-&amp;gt;m_pd3dDevice-&amp;gt;BeginScene() ))
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;//실제 렌더링 명령수행
&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;//렌더링 종료
&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pd3dDevice-&amp;gt;EndScene();
&amp;nbsp;}
&amp;nbsp;//버퍼 전환
&amp;nbsp;this-&amp;gt;m_pd3dDevice-&amp;gt;Present(NULL,NULL,NULL,NULL);
}
&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;5. 실제 호출 부분 구현 MFC에서는 App -&amp;gt; OnIdle 함수를 재정의하여 사용한다.&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXX.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;CXXXApp 클래스의 OnIdle 를 재정의하여 사용&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;BOOL CEx1App::OnIdle(LONG lCount)
{
&amp;nbsp;// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
&amp;nbsp;CMainFrame *pFrame = (CMainFrame *) AfxGetMainWnd();
&amp;nbsp;CEx1View *pView = (CEx1View *)pFrame-&amp;gt;GetActiveView();
&amp;nbsp;&amp;nbsp;if(pView-&amp;gt;m_bComplete)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;pView-&amp;gt;Render();
&amp;nbsp;&amp;nbsp;return TRUE;
&amp;nbsp;}
&amp;nbsp;//return CWinApp::OnIdle(lCount);&amp;nbsp;&amp;nbsp;&amp;nbsp; // 무조건 TRUE를 리턴하여야. 에러가 안남.
}
&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;6. 프로그램 종료시 객체의 소멸&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;View 클래스 PostNCDestroy 함수 재정의해서 사용&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;void CEx1View::PostNcDestroy()
{
&amp;nbsp;// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
&amp;nbsp;// D3D객체의 CleanUP()
&amp;nbsp;this-&amp;gt;CleanUp();
&amp;nbsp;CView::PostNcDestroy();
}

// D3D 객체 삭제
void CEx1View::CleanUp(void)
{
&amp;nbsp;//객체 선언때와 반대로 늦게 할당한것부터 해제한다.
&amp;nbsp;if(this-&amp;gt;m_pd3dDevice)
&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pd3dDevice-&amp;gt;Release();
&amp;nbsp;if(this-&amp;gt;m_pD3D)
&amp;nbsp;&amp;nbsp;this-&amp;gt;m_pD3D-&amp;gt;Release();
}
&lt;/pre&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;7. 만약 MFC에서 잔상이 남게되면 View 클래스에서 메세지 -&amp;gt;&amp;nbsp; WM_ERASEBKGND 를 재정의한다.&lt;BR&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;file_path&quot;&gt;CXXXView.cpp&lt;/span&gt;&lt;span class=&quot;description&quot;&gt;WM_ERASEBKGND 재정의 사용&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;gutter: false;&quot;&gt;BOOL CEx1View::OnEraseBkgnd(CDC* pDC)
{
&amp;nbsp;// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
&amp;nbsp;if(this-&amp;gt;m_bComplete)
&amp;nbsp;&amp;nbsp;this-&amp;gt;Render();
return false;&amp;nbsp;
//&amp;nbsp;return CView::OnEraseBkgnd(pDC);
}
&lt;/pre&gt;&lt;BR&gt;&lt;/div&gt;</content>
                  <category term="DirectX"/>
            <category term="초기화"/>
            <category term="Initialize"/>
            <category term="MFC"/>
            <category term="APP"/>
            <category term="View"/>
            
   </entry>
   <entry>
      <title>Memory 관련 오류</title>
      <id>http://snowvil.com/snowvil/3793</id>
      <published>2009-09-29T18:35:26P</published>
      <updated>2009-09-29T18:35:26P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3793"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3793#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;P&gt;C++에서 Memory(auto든 static이든 dynamic이든)를 사용할 때 초기화 하지 않았을 때의 값은 Undefined다. VC++에서는 Debug모드일 때 메모리 관련 오류를 디버깅하기 위해 자동으로 메모리를 초기화 해 주는데, 그 값들은 아래와 같다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;0xcccccccc (3435973836)&lt;/SPAN&gt; - 초기화 되지 않은 지역변수.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;0xcdcdcdcd (3452816845)&lt;/SPAN&gt; - 초기화되지 않은 힙에 할당된 메모리.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;0xdddddddd (3722304989)&lt;/SPAN&gt; - 힙에서 free된 메모리.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;0xfeeefeee (4277075694)&lt;/SPAN&gt; - 힙에서 free된 메모리.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold&quot;&gt;0xfdfdfdfd (4261281277)&lt;/SPAN&gt; - 힙에 할당된 메모리의 초과범위(할당된 메모리의 양쪽 끝)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;BR&gt;참고하자!&lt;BR&gt;&lt;BR&gt;From: &lt;A class=external title=http://blog.empas.com/lisyoen/16384741 href=&quot;http://blog.empas.com/lisyoen/16384741&quot;&gt;&lt;FONT color=#568942&gt;http://blog.empas.com/lisyoen/16384741&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;===========================================================&lt;BR&gt;아놔 ㅠ.. 무지에 통곡할 따름..&lt;BR&gt;&lt;BR&gt;0xfeeefeee&lt;BR&gt;.. 버그는 내가 만드는거였군..&lt;/P&gt;&lt;/div&gt;</content>
                  <category term="0xfeeefeee"/>
            <category term="메모리"/>
            <category term="힙"/>
            <category term="오류"/>
            
   </entry>
   <entry>
      <title>CString -&gt; TChar 변환에 관련해서</title>
      <id>http://snowvil.com/snowvil/3788</id>
      <published>2009-09-23T16:17:04P</published>
      <updated>2009-09-23T16:17:04P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3788"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3788#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;CString -&amp;gt; TChar 로 변환하기&lt;BR&gt;&lt;BR&gt;LPCTSTR(strCString);&lt;BR&gt;끝..&lt;BR&gt;&lt;BR&gt;전에는 BSTR 을 썻는데.. 메모리 해제가 안되어.. 알수없는 메모리 릭이 지속적인 발생.. 역시 ㅠ&lt;BR&gt;&lt;/div&gt;</content>
                  <category term="bstr"/>
            <category term="wchar"/>
            <category term="mfc"/>
            
   </entry>
   <entry>
      <title>가상 키코드 표</title>
      <id>http://snowvil.com/snowvil/3781</id>
      <published>2009-09-22T18:13:55P</published>
      <updated>2009-09-22T18:13:55P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3781"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3781#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;출처 : &lt;A href=&quot;http://cafe.naver.com/autohotkey/1036&quot;&gt;http://cafe.naver.com/autohotkey/1036&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;IMG alt=%C4%E5~1.JPG src=&quot;http://www.snowvil.com/snowvil/files/attach/images/79/781/003/%25C4%25E5~1.JPG&quot;&gt;&amp;nbsp;&lt;/div&gt;</content>
                  <category term="vk"/>
            <category term="virtual"/>
            <category term="key"/>
            <category term="code"/>
            
   </entry>
   <entry>
      <title>View 에서 마우스 오른쪽 클릭시 팝업 메뉴</title>
      <id>http://snowvil.com/snowvil/3778</id>
      <published>2009-09-21T02:11:28P</published>
      <updated>2009-09-21T02:11:28P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3778"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3778#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;메세지 -&amp;gt; OnContextMenu 선택하여 작업.&lt;/div&gt;</content>
                  <category term="메뉴"/>
            
   </entry>
   <entry>
      <title>error C2065: &apos;IDD_&apos; : 선언되지 않은 식별자입니다.</title>
      <id>http://snowvil.com/snowvil/3757</id>
      <published>2009-09-15T12:49:51P</published>
      <updated>2009-09-15T12:49:51P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3757"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3757#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;에러 해결법&lt;BR&gt;&lt;BR&gt;해당 에러가 발생하는 헤더파일에 include &quot;Resource.h&quot; 를 추가한다..&lt;BR&gt;보통 새로 생성한 MFC클래스에 빠져있는 경우가있다..&lt;/div&gt;</content>
                  <category term="Resource"/>
            <category term="mfc"/>
            <category term="idd"/>
            
   </entry>
   <entry>
      <title>0xcdcdcdcd,0xcdcdcdcd 메모리 참조 오류</title>
      <id>http://snowvil.com/snowvil/3744</id>
      <published>2009-09-12T13:17:34P</published>
      <updated>2009-09-12T13:17:34P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3744"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3744#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;P&gt;포인터를 사용할때&lt;BR&gt;&lt;BR&gt;포인터를 선언하고 아직 할당하지 않았음에도 불구하고.&lt;BR&gt;&lt;BR&gt;&amp;nbsp;if(m_pTexture_Menu_New_Cover)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;m_pTexture_Menu_New_Cover-&amp;gt;Release();&lt;BR&gt;&amp;nbsp;&amp;nbsp;m_pTexture_Menu_New_Cover = NULL;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;를 통과하고 내부 코드가 실행된다.&lt;BR&gt;&lt;BR&gt;이건.. 선언할떄 초기화를 해주지 않아서 생기는 오류..&lt;BR&gt;사람들은 NULL이라고 믿고 싶지만... &lt;BR&gt;&lt;BR&gt;0xcdcdcdcd로 생성이 된다..&lt;BR&gt;&lt;BR&gt;아참..&lt;BR&gt;&lt;BR&gt;0xfefefefe 등.. 오류가 발생하는 경우는&lt;BR&gt;이미 헤지되 버린 heap영역을 참조할려고 하기 떄문에 발생하는 오류..&lt;BR&gt;&lt;BR&gt;꼭 메모리 해제 관계를 살펴보자..&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;20시간의 삽질.. ㅠ_ㅠ&lt;/P&gt;&lt;/div&gt;</content>
                  <category term="0xcdcdcdcd"/>
            <category term="c++"/>
            <category term="c"/>
            <category term="메모리"/>
            <category term="참조"/>
            <category term="access"/>
            <category term="violation"/>
            <category term="pointer"/>
            <category term="포인터"/>
            <category term="널"/>
            <category term="null"/>
            
   </entry>
   <entry>
      <title>함수 인자로서의 CString</title>
      <id>http://snowvil.com/snowvil/3739</id>
      <published>2009-09-11T18:43:23P</published>
      <updated>2009-09-11T18:43:23P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3739"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3739#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;MFC 에서 편리하게 문자열을 처리할때 종종 CString 클래스를 이용하는데&lt;BR&gt;&lt;BR&gt;아무래도. 처리가 많다보면. 인자로 전달했을 경우 주소로 전달하는것보다. 속도가 떨어지게 된다..&lt;BR&gt;&lt;BR&gt;그래서. &lt;BR&gt;&lt;BR&gt;void Func(const CString&amp;amp; str) &lt;BR&gt;{&lt;BR&gt;&lt;BR&gt;}&lt;BR&gt;로 넘겨주게 되면 주소를 넘겨처리하기 떄문에 따로 클래스 내부 복사가 이루어지지않는다.&lt;/div&gt;</content>
                  <category term="mfc"/>
            <category term="CString"/>
            <category term="const"/>
            
   </entry>
   <entry>
      <title>&apos;WCHAR [32]&apos;에서 &apos;char *&apos;(으)로 변환</title>
      <id>http://snowvil.com/snowvil/3732</id>
      <published>2009-09-11T14:52:24P</published>
      <updated>2009-09-11T14:52:24P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3732"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3732#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;BR&gt;&amp;nbsp;_tcscpy_s(desc.FaceName, _countof(desc.FaceName), _T(&quot;굴림체&quot;));&lt;BR&gt;&lt;BR&gt;Unicode 를 사용할경우 strcpy() 같은 함수에서 &apos;WCHAR [32]&apos;에서 &apos;char *&apos;(으)로 변환할수 없다는 메세지를 출력하게된다. 이럴경우 위의 코드를 이용하자&lt;/div&gt;</content>
                  <category term="mfc"/>
            <category term="unicode"/>
            <category term="font"/>
            <category term="_tcscpy_s"/>
            <category term="strcpy"/>
            
   </entry>
   <entry>
      <title>[STL] VECTOR 해제시 동적 할당은 따로 해제.</title>
      <id>http://snowvil.com/snowvil/3721</id>
      <published>2009-09-11T06:21:36P</published>
      <updated>2009-09-11T06:22:26P</updated>
      <link rel="alternate" type="text/html" href="http://snowvil.com/snowvil/3721"/>
      <link rel="replies" type="text/html" href="http://snowvil.com/snowvil/3721#comment"/>
      <author>
         <name>snowvil</name>
                  <uri>http://snowvil.com</uri>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;description&quot;&gt;동적메모리 해제&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;&quot;&gt;// STL Clear시 해당 리스트에서 동적으로 할당된 객체는 자동 소멸되지 않는다.. 알아서 해제하자..

void CEngineDoc::Memory_Release(void)
{
&amp;nbsp;//플레이어 리스트 해제
&amp;nbsp;for(vPitr=m_Player_List.begin(); vPitr != m_Player_List.end(); vPitr++)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;CPlayer *pItr = *vPitr;
&amp;nbsp;&amp;nbsp;for(int i=0;i&amp;lt; pItr-&amp;gt;iCount;i++)
&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int j=0;j &amp;lt; pItr-&amp;gt;pSpriteStruct[i].iCount; j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture-&amp;gt;Release();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture = NULL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;delete (pItr);
&amp;nbsp;}
&amp;nbsp;m_Player_List.clear();
&amp;nbsp;for(vPitr=m_Player.begin(); vPitr != m_Player.end(); vPitr++)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;CPlayer *pItr = *vPitr;
&amp;nbsp;&amp;nbsp;delete (pItr);
&amp;nbsp;}
&amp;nbsp;m_Player.clear();&lt;/pre&gt;
&lt;div class=&quot;ch_infobox&quot;&gt;&lt;span class=&quot;description&quot;&gt;동적메모리 해제&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;brush: cpp;&quot;&gt;&amp;nbsp;//NPC 리스트
&amp;nbsp;for(vNitr=m_NPC_List.begin(); vNitr != m_NPC_List.end(); vNitr++)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;CNPC *pItr = *vNitr;
&amp;nbsp;&amp;nbsp;for(int i=0;i&amp;lt; pItr-&amp;gt;iCount;i++)
&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int j=0;j &amp;lt; pItr-&amp;gt;pSpriteStruct[i].iCount; j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture-&amp;gt;Release();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture = NULL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;delete (pItr);
&amp;nbsp;}
&amp;nbsp;m_NPC_List.clear();
&amp;nbsp;for(vNitr=m_NPC.begin(); vNitr != m_NPC.end(); vNitr++)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;CNPC *pItr = *vNitr;
&amp;nbsp;&amp;nbsp;delete (pItr);
&amp;nbsp;}
&amp;nbsp;m_NPC.clear();
&amp;nbsp;//몬스터 리스트
&amp;nbsp;for(vMitr=m_Monster_List.begin(); vMitr != m_Monster_List.end(); vMitr++)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;CMonster *pItr = *vMitr;
&amp;nbsp;&amp;nbsp;for(int i=0;i&amp;lt; pItr-&amp;gt;iCount;i++)
&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int j=0;j &amp;lt; pItr-&amp;gt;pSpriteStruct[i].iCount; j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture-&amp;gt;Release();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pItr-&amp;gt;pSpriteStruct[i].pSpriteInfo[j].m_pTexture = NULL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;delete (pItr);
&amp;nbsp;}
&amp;nbsp;m_Monster_List.clear();
&amp;nbsp;for(vMitr=m_Monster.begin(); vMitr != m_Monster.end(); vMitr++)
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;CMonster *pItr = *vMitr;
&amp;nbsp;&amp;nbsp;delete (pItr);
&amp;nbsp;}
&amp;nbsp;m_Monster.clear();
&amp;nbsp;//아이템은 아직 처리안함. 제대로 설계한 후에 stl 코드 넣기

}&lt;/pre&gt;&lt;BR&gt;&lt;/div&gt;</content>
                  <category term="STL"/>
            <category term="동적"/>
            <category term="할당"/>
            <category term="하제"/>
            
   </entry>
</feed> 
