編寫的程式難免會有記憶體洩露,為了檢測記憶體洩露,可以采取各種各樣的措施,
今天向大家介紹一款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位元組,程式還是比較穩定的