Bullet(Cocos2dx)之内存泄露检测 编写的程序难免会有内存泄露,为了检测内存泄露,可以采取各种各样的措施,
今天向大家介绍一款windows下的内存检测工具Visual Leak Detector for Visual C++
去官网下载最新版本安装。
用VS建立一个C++控制台项目,
1.将vld安装目录下的include的头文件copy到c++目录下
2.把lib/win32(如果vs版本为64的,则选择win64)copy到c++目录,
//3.把bin/win32copy到c++的Debug目录(先Debug运行c++)下
4.在main.cpp包含头文件#include “vld.h”
编译运行,会输出
表示无内存泄露
修改代码
再次运行
发现有一字节的内存泄露,同时你会看到内存泄露的代码位置
为了以后新建cocos2dx项目内存检测方便
1.复制include头文件到(VS安装目录)C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include
2.复制lib文件到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib
我安装的为32的所以复制win32的
测试cocos2dx3.x新建项目使用cocos 引擎建立,操作如图
#define VLD_FORCE_ENABLE 是为了开启VLD内存检测,查看vld.h头文件发现
只有define两个的一个才能开启内存检测
运行后关闭程序,发现内存泄露20个字节,好吧,虽然有一点内存泄露,还是可以接受的
(有的版本有内存泄露有的没有)
现在去看看集成Bullet的cocos2dx程序是否也是20个字节内存泄露,如果是的话,
说明我们写的几个Phyisics类是没有内存泄露的,笔者运行后还是20字节,程序还是比较稳定的