Chinaunix首页 | 论坛 | 博客
  • 博客访问: 329252
  • 博文数量: 67
  • 博客积分: 2485
  • 博客等级: 大尉
  • 技术积分: 665
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-20 17:29
文章分类

全部博文(67)

文章存档

2016年(3)

2013年(5)

2012年(3)

2011年(5)

2010年(35)

2009年(16)

我的朋友

分类: Windows平台

2016-01-09 02:46:15

cocos2d-x不仅可以做到跨平台运行,还可以做到跨平台编译调试(当然只是编译对应平台下的应用了)。众所周知,cocos2d-x是用c++编写的,而c++中最让人头疼的莫过于指针和内存泄露的问题,在windows下,cocos2d-x支持在vs下开发,这样,平时写win32项目的开发工具就可以用在cocos2d-x开发上了,善哉!今天就介绍一个检测内存泄露的工具,,简称 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


  1. #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
  2. #include "vld.h"  
  3. #endif  

泄露代码


  1. char* ch = new char();  




我并没有释放申请的内存,这是一个显而易见的内存泄露的错误,当我们的程序运行结束的时候,就会被检测到,注意观察Output

OK!


注释:文件来自:

cocos2d-x不仅可以做到跨平台运行,还可以做到跨平台编译调试(当然只是编译对应平台下的应用了)。众所周知,cocos2d-x是用c++编写的,而c++中最让人头疼的莫过于指针和内存泄露的问题,在windows下,cocos2d-x支持在vs下开发,这样,平时写win32项目的开发工具就可以用在cocos2d-x开发上了,善哉!今天就介绍一个检测内存泄露的工具,,简称 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


  1. #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
  2. #include "vld.h"  
  3. #endif  

泄露代码


  1. char* ch = new char();  



	


我并没有释放申请的内存,这是一个显而易见的内存泄露的错误,当我们的程序运行结束的时候,就会被检测到,注意观察Output

OK!
注释:文件来自:http://blog.csdn.net/onerain88/article/details/8574938/,感谢!!
阅读(1043) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~