﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-cngamedev-文章分类-Dev Tips</title><link>http://www.cppblog.com/cngamedev/category/11948.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 30 Jan 2010 01:27:18 GMT</lastBuildDate><pubDate>Sat, 30 Jan 2010 01:27:18 GMT</pubDate><ttl>60</ttl><item><title>myGUI Engine &amp; FreeType2 封装</title><link>http://www.cppblog.com/cngamedev/articles/106040.html</link><dc:creator>cngamedev</dc:creator><author>cngamedev</author><pubDate>Tue, 19 Jan 2010 17:15:00 GMT</pubDate><guid>http://www.cppblog.com/cngamedev/articles/106040.html</guid><wfw:comment>http://www.cppblog.com/cngamedev/comments/106040.html</wfw:comment><comments>http://www.cppblog.com/cngamedev/articles/106040.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cngamedev/comments/commentRss/106040.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cngamedev/services/trackbacks/106040.html</trackback:ping><description><![CDATA[myGUI Engine &amp; FreeType2 封装
<img src ="http://www.cppblog.com/cngamedev/aggbug/106040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cngamedev/" target="_blank">cngamedev</a> 2010-01-20 01:15 <a href="http://www.cppblog.com/cngamedev/articles/106040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TMovie </title><link>http://www.cppblog.com/cngamedev/articles/97883.html</link><dc:creator>cngamedev</dc:creator><author>cngamedev</author><pubDate>Mon, 05 Oct 2009 03:40:00 GMT</pubDate><guid>http://www.cppblog.com/cngamedev/articles/97883.html</guid><wfw:comment>http://www.cppblog.com/cngamedev/comments/97883.html</wfw:comment><comments>http://www.cppblog.com/cngamedev/articles/97883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cngamedev/comments/commentRss/97883.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cngamedev/services/trackbacks/97883.html</trackback:ping><description><![CDATA[<br><font size=2>here is a TMovie class that will allow you to play any movie format in a texture <br><br></font>
<table cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
    <tbody>
        <tr>
            <td><span class=genmed><strong><font size=2>Code:</font></strong></span></td>
        </tr>
        <tr>
            <td class=code><br>#include &lt;dshow.h&gt; <br>#include &lt;mmstream.h&gt; <br>#include &lt;amstream.h&gt; <br>#include &lt;ddstream.h&gt; <br><br><br>static GUID MY_CLSID_AMMultiMediaStream={0x49C47CE5,0x9BA4,0x11D0,0x82,0x12,0x00,0xC0,0x4F,0xC3,0x2C,0x45}; <br>static GUID MY_IID_IAMMultiMediaStream={0xBEBE595C,0x9A6F,0x11D0,0x8F,0xDE,0x00,0xC0,0x4F,0xD9,0x18,0x9D}; <br>static GUID MY_MSPID_PrimaryVideo={0xA35FF56A,0x9FDA,0x11D0,0x8F,0xDF,0x00,0xC0,0x4F,0xD9,0x18,0x9D}; <br>static GUID MY_IID_IDirectDrawMediaStream={0xF4104FCE,0x9A70,0x11D0,0x8F,0xDE,0x00,0xC0,0x4F,0xD9,0x18,0x9D};&nbsp; <br>static GUID MY_MSPID_PrimaryAudio={0xA35FF56B,0x9FDA,0x11D0,0x8F,0xDF,0x00,0xC0,0x4F,0xD9,0x18,0x9D}; <br><br>class TMovie <br>&nbsp;{ <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IAMMultiMediaStream*&nbsp; &nbsp; &nbsp;pAMStream; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IMediaStream*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pPrimaryVidStream; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IDirectDrawMediaStream*&nbsp; pDDStream; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IDirectDrawStreamSample* pSample; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IDirectDrawSurface*&nbsp; &nbsp; &nbsp; pSurface; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RECT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Movie_rect; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;LONG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MoviePitch; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MovieBuffer; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DWORD&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; time; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DWORD&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oldtick; <br>&nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp;public:&nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TMovie() <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CoInitialize(0); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pAMStream&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pPrimaryVidStream = 0;&nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pDDStream&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0;&nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pSample&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pSurface&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;time&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;~TMovie() <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pPrimaryVidStream-&gt;Release(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pDDStream-&gt;Release(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pSample-&gt;Release(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pSurface-&gt;Release(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pAMStream-&gt;Release(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CoUninitialize(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void LoadMovie(char* filename) <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WCHAR buf[512]; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MultiByteToWideChar(CP_ACP,0,filename,-1,buf,512); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CoCreateInstance(MY_CLSID_AMMultiMediaStream,0,1,MY_IID_IAMMultiMediaStream,(void**)&amp;pAMStream); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pAMStream-&gt;Initialize((STREAM_TYPE) 0, 0, NULL); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pAMStream-&gt;AddMediaStream( 0, &amp;MY_MSPID_PrimaryVideo, 0, NULL); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pAMStream-&gt;OpenFile(buf,4); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pAMStream-&gt;GetMediaStream( MY_MSPID_PrimaryVideo, &amp;pPrimaryVidStream); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pPrimaryVidStream-&gt;QueryInterface(MY_IID_IDirectDrawMediaStream,(void**)&amp;pDDStream); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pDDStream-&gt;CreateSample(0,0,0,&amp;pSample); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pSample-&gt;GetSurface(&amp;pSurface,&amp;Movie_rect); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pAMStream-&gt;SetState((STREAM_STATE)1); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void NextMovieFrame() <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(GetTickCount()-oldtick &lt; time)return ; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;oldtick = GetTickCount();&nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pSample-&gt;Update( 0, NULL, NULL, 0); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int MovieWidth() { return (Movie_rect.right - Movie_rect.left);} <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int MovieHeight() { return (Movie_rect.bottom - Movie_rect.top);}&nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void DrawMovie(int x,int y,ITexture* Buf) <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void* pBits = Buf-&gt;lock(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LONG&nbsp; Pitch = Buf-&gt;getPitch();&nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DDSURFACEDESC&nbsp; ddsd; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ddsd.dwSize=sizeof(DDSURFACEDESC); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pSurface-&gt;Lock( NULL,&amp;ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT , NULL); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int wmin=(Pitch&lt;ddsd.lPitch)?Pitch:ddsd.lPitch; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(int h=0; h&lt;ddsd.dwHeight; h++) <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;memcpy((BYTE*)pBits+((y+h)*Pitch)+x*4,(BYTE*)ddsd.lpSurface+h*ddsd.lPitch,wmin); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pSurface-&gt;Unlock(NULL); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Buf-&gt;unlock(); <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void SetMovieFPS(int fps) <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; time = fps; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp;} ;&nbsp; &nbsp; <br></td>
        </tr>
    </tbody>
</table>
<span class=postbody><br><br><font size=2>you can use it as the following <br><br></font></span>
<table cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
    <tbody>
        <tr>
            <td><span class=genmed><strong><font size=2>Code:</font></strong></span></td>
        </tr>
        <tr>
            <td class=code><br>TMovie* movie = new TMovie; <br>movie-&gt;LoadMovie("mymovie.mpg"); <br>movie-&gt;SetMovieFPS(25); <br><br>ITexture* movTxtr; <br>irrVideo-&gt;setTextureCreationFlag(ETCF_ALWAYS_32_BIT , TRUE); <br>irrVideo-&gt;setTextureCreationFlag(ETCF_CREATE_MIP_MAPS, FALSE); <br>movTxtr = irrVideo-&gt;addTexture(dimension2d&lt;s32&gt;(512,256),"imovie"); <br><br>&nbsp;while(irrDevice-&gt;run()) <br>&nbsp; { <br>&nbsp; &nbsp; &nbsp;irrVideo-&gt;beginScene(true, true, SColor(0,200,200,200)) <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; movie-&gt;NextMovieFrame() <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; movie-&gt;DrawMovie(0,0,movTxtr) <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; irrSceneMgr-&gt;drawAll() <br>&nbsp; &nbsp; &nbsp; irrVideo-&gt;endScene() <br>&nbsp; } <br></td>
        </tr>
    </tbody>
</table>
<span class=postbody><br><br><font size=2>now you see how it is so easy to play any movie in your texture. </font><br></span>
<img src ="http://www.cppblog.com/cngamedev/aggbug/97883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cngamedev/" target="_blank">cngamedev</a> 2009-10-05 11:40 <a href="http://www.cppblog.com/cngamedev/articles/97883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何用nvperfkit分析他人制作的游戏 </title><link>http://www.cppblog.com/cngamedev/articles/97639.html</link><dc:creator>cngamedev</dc:creator><author>cngamedev</author><pubDate>Wed, 30 Sep 2009 03:30:00 GMT</pubDate><guid>http://www.cppblog.com/cngamedev/articles/97639.html</guid><wfw:comment>http://www.cppblog.com/cngamedev/comments/97639.html</wfw:comment><comments>http://www.cppblog.com/cngamedev/articles/97639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cngamedev/comments/commentRss/97639.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cngamedev/services/trackbacks/97639.html</trackback:ping><description><![CDATA[<h2><a id=ctl03_TitleUrl href="http://www.cnblogs.com/winsonchen/archive/2008/09/01/1281568.html"><font color=#223355></font></a>&nbsp;</h2>
<div class=postbody>
<p>&nbsp; &nbsp;&nbsp;&nbsp; 开发游戏的时候，总会做下同类型游戏的性能对比，一般nvperfhud只能用来分析我们自己写的应用程序，因为这涉及到改代码的问题。那么如何分析别人做的游戏呢，可以用nvidia的perfkit提供的计数器结合系统管理工具perfmon、dx pix for window进行监视。</p>
<p>&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; 具体操作步骤：</p>
&nbsp;&nbsp;&nbsp; 1. 安装nvidia perfkit 6.0。<br>&nbsp;&nbsp;&nbsp; 2. 程序-&gt;nvidia perfsdk-&gt;nvidia developer control panel, 添加感兴趣的计数器如d3d batch count、d3d fps、d3d triangle count等。<br>
<p>&nbsp;&nbsp;&nbsp; 3. 用控制面板-&gt;管理工具-&gt;性能(或者直接运行"perfmon")，添加nvidia插件提供的计数器。</p>
<p>&nbsp;&nbsp;&nbsp; 4. dx pix for window-&gt;new experiment-&gt;添加plugin counters，选刚才第二步添加的计数器。<br></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 这样我们就能分析主流游戏的场景性能，比如天下二、苍天每帧一般在9-13w之间，dp在300-500之间；天龙八部固定视角每帧一般在3-5w，但天龙八部的dp每帧调用次数太多，应该是ogre导出场景的时候没有进行优化，另外max里尽可能避免材质组。</p>
<p>&nbsp;</p>
<p><img height=563 alt="" src="http://images.cnblogs.com/cnblogs_com/winsonchen/perf1.PNG" width=791>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;<img height=449 alt="" src="http://images.cnblogs.com/cnblogs_com/winsonchen/perf2.PNG" width=698 border=0><br></p>
<p><img height=511 alt="" src="http://images.cnblogs.com/cnblogs_com/winsonchen/perf3.PNG" width=616>&nbsp;</p>
</div>
<img src ="http://www.cppblog.com/cngamedev/aggbug/97639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cngamedev/" target="_blank">cngamedev</a> 2009-09-30 11:30 <a href="http://www.cppblog.com/cngamedev/articles/97639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>더 좋은 메모리릭 잡는 방법</title><link>http://www.cppblog.com/cngamedev/articles/97589.html</link><dc:creator>cngamedev</dc:creator><author>cngamedev</author><pubDate>Tue, 29 Sep 2009 15:47:00 GMT</pubDate><guid>http://www.cppblog.com/cngamedev/articles/97589.html</guid><wfw:comment>http://www.cppblog.com/cngamedev/comments/97589.html</wfw:comment><comments>http://www.cppblog.com/cngamedev/articles/97589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cngamedev/comments/commentRss/97589.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cngamedev/services/trackbacks/97589.html</trackback:ping><description><![CDATA[<br><br>
<div class=view style="FONT-SIZE: 9pt; FONT-FAMILY: 돋움">
<p><font color=#000000>이전 올렸던 릭 잡는 방법은 malloc으로 할당한 메모리 전용이라고 한다.</font></p>
<p><font color=#000000>그래서인지 때로 전혀 말도 안되는 위치를 잡아내서 혼동이 있었는데..</font></p>
<p><font color=#000000>좀더 편하고 new에 맞는 릭 위치 찾는 코드가 있었다..</font></p>
<p>&nbsp;</p>
<p><font color=#ff0000>#ifdef _DEBUG<br>#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)<br>#endif</font></p>
<p>이라고 헤더에 선언하고..</p>
<p>&nbsp;</p>
<p><font color=#ff0000>_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );</font></p>
<p>를 메인의 처음에 써주면 메모리 릭 디텍트에다가 </p>
<p>f4로 릭 위치 바로가기까지....&nbsp; </p>
<p>짱 좋다.
<div class=autosourcing-stub>&nbsp;</div>
</div>
<img src ="http://www.cppblog.com/cngamedev/aggbug/97589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cngamedev/" target="_blank">cngamedev</a> 2009-09-29 23:47 <a href="http://www.cppblog.com/cngamedev/articles/97589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>