使用visual leak detector 方法(本例使用2.2版本)
1从http://vld.codeplex.com/releases下载安装包,安装。
2配置方法见http://vld.codeplex.com/wikipage?title=Using%20Visual%20Leak%20Detector&referringTitle=Documentation;
① 点击View ->Property Manager,
②双击打开Microsoft.Cpp.Win32.user.
③选择 VC++ Directories
④在"Include directories" 选择安装路径visual leak detector\include文件夹
⑤在"Library directories" 选择安装路径visual leak detector\lib\Win32 文件夹(如果64位机器选择win64文件夹)
3测试
#include "vld.h"
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR* pChTem = (TCHAR*)malloc(7*sizeof(TCHAR));
TCHAR* pChTem2= (TCHAR*)malloc(7*sizeof(TCHAR));
TCHAR* pChTem3 = (TCHAR*)malloc(7*sizeof(TCHAR));
MessageBox(NULL, _T("visual leak delect"), NULL, MB_OK);
return 0;
}
静态成员函数想要调用非静态程序函数,必须传递该类的一个对象:创建的线程的回调函数可以使用静态函数(这是静态函数调用非静态函数的一个例子)。
静态指针变量的动态分配和删除 转自http://blog.csdn.net/nellson/article/details/5738629
- #include <unistd.h>
- #include <stdio.h>
- class CPointer
- {
- public:
- CPointer(){};
- ~CPointer(){};
- public:
- static char * m_p;
- };
- char * CPointer::m_p = NULL;
- void proc()
- {
- for(int i = 0; i < 10; i++)
- {
- if (NULL != CPointer::m_p)
- {
- char * p = CPointer::m_p;
- delete []p;
- p = NULL;
- CPointer::m_p = NULL;
- }
- CPointer::m_p = new char[1024*1024];
- sleep(1);
- }
- }
- int main(int argc, char ** argv)
- {
- proc();
- return 0;
- }
-