• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

游戏开发

VS2013,Cocos2d-x v3.4.0与vld检测内存宣泄

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2019/1115/696.html

 
 
cocos2d-x不仅可以或许做到跨平台运行,还可以或许做到跨平台编译调试(固然只是编译对应平台下的应用了)。家喻户晓,cocos2d-x是用c++编写的,而c++中最让人头疼的莫过于指针和内存泄漏的问题,在windows下,cocos2d-x支持在vs下开发,这样,通常写win32项目的开发工具便用在cocos2d-x开发上了,善哉!今日就介绍一个检测内存泄漏的工具,Visual Leak Detector,简称 vld
 
1.安设
 
这一步很简略,官网已经是在上面给了,索性download吧,跳过!
 
2.简介
 
安设完成往后vld目次如下:
 
 
 
简略介绍下,include目次下是vld库的头文件;lib目次下是vld编译生产的静态库,有32和64位两个版本;src目次是源码了。。。
 
3.建设
 
ps: 对vs建设第三库的高玩请自行跳过
 
(1)建设include
 
右键选择需要监测内存泄漏的工程,选择Properties,选择Configuration Properties->C/C++/->Additional Include Directories,如图
 
 
 
选择新进入一个include途径,也就是安设vld的include途径,好比我刚才的途径就是D:\Program Files\Visual Leak Detector\include,这样,在工程里引入头文件的时候就不会报找不到文件的错了!
 
(2)建设第三方库
 
a.先建设第三库地点途径
 
步骤和(1)类似,只是这次要选择Configuration Properties->Linker->General->Additional Library Directories,如图
 
 
 
凭证我vld的安设目次,该当是D:\Program Files\Visual Leak Detector\lib\Win32
 
b.建设第三方库
 
这次要选择的是Configuration Properties->Linker->Input->Additional Dependencies,增长vld.lib,如图
 
 
 
OK,建设完成了!
 
ps:固然,固然vs2010不支持全局建设了,但是还是可以或许再Property Manager中建设,需要的同学请google!
 
ps:如果项目需要同盟开发,最好将vld相关的文件拷贝到工程里,凭证工程途径配置,这样不会导致在差别的PC上需要重新建设的问题!好比$(SolutionDir)xxxx
 
4.应用
 
ps:对vld应用很谙习的请自行跳过。。。
 
谨严一点,唯有在win32平台下才可以或许引入vld
 
 
 
[cpp] view plaincopyprint?
 
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
 
#include "vld.h"  
 
#endif  
 
泄漏代码
 
 
 
[cpp] view plaincopyprint?
 
char* ch = new char();  
 
 
 
 
 
我并没有释放要求的内存,这是一个显而易见的内存泄漏的毛病,当我们的程序运行收场的时候,就会被检测到,注意观察Output
 
 
 
OK!
 
 
 
 
 
注释:文件来自:
 
cocos2d-x不仅可以或许做到跨平台运行,还可以或许做到跨平台编译调试(固然只是编译对应平台下的应用了)。家喻户晓,cocos2d-x是用c++编写的,而c++中最让人头疼的莫过于指针和内存泄漏的问题,在windows下,cocos2d-x支持在vs下开发,这样,通常写win32项目的开发工具便用在cocos2d-x开发上了,善哉!今日就介绍一个检测内存泄漏的工具,Visual Leak Detector,简称 vld
 
1.安设
 
这一步很简略,官网已经是在上面给了,索性download吧,跳过!
 
2.简介
 
安设完成往后vld目次如下:
 
 
 
简略介绍下,include目次下是vld库的头文件;lib目次下是vld编译生产的静态库,有32和64位两个版本;src目次是源码了。。。
 
3.建设
 
ps: 对vs建设第三库的高玩请自行跳过
 
(1)建设include
 
右键选择需要监测内存泄漏的工程,选择Properties,选择Configuration Properties->C/C++/->Additional Include Directories,如图
 
 
 
选择新进入一个include途径,也就是安设vld的include途径,好比我刚才的途径就是D:\Program Files\Visual Leak Detector\include,这样,在工程里引入头文件的时候就不会报找不到文件的错了!
 
(2)建设第三方库
 
a.先建设第三库地点途径
 
步骤和(1)类似,只是这次要选择Configuration Properties->Linker->General->Additional Library Directories,如图
 
 
 
凭证我vld的安设目次,该当是D:\Program Files\Visual Leak Detector\lib\Win32
 
b.建设第三方库
 
这次要选择的是Configuration Properties->Linker->Input->Additional Dependencies,增长vld.lib,如图
 
 
 
OK,建设完成了!
 
ps:固然,固然vs2010不支持全局建设了,但是还是可以或许再Property Manager中建设,需要的同学请google!
 
ps:如果项目需要同盟开发,最好将vld相关的文件拷贝到工程里,凭证工程途径配置,这样不会导致在差别的PC上需要重新建设的问题!好比$(SolutionDir)xxxx
 
4.应用
 
ps:对vld应用很谙习的请自行跳过。。。
 
谨严一点,唯有在win32平台下才可以或许引入vld
 
 
 
[cpp] view plaincopyprint?
 
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
 
#include "vld.h"  
 
#endif  
 
泄漏代码
 
 
 
[cpp] view plaincopyprint?
 
char* ch = new char();  
 
 
 
 
 
我并没有释放要求的内存,这是一个显而易见的内存泄漏的毛病,当我们的程序运行收场的时候,就会被检测到,注意观察Output
 
 
 
OK!
 

上篇:上一篇:Unity中绕恣意轴恣意角度旋转向量
下篇:下一篇:vc6.0运用gdi+在内存中绘图并将其保管