内存泄漏
记得在每个源文件(c,cpp)开头的第一行有效代码之前包含下面这个头文件, 即加上:
#include <bound_checker.h>
然后使用宏开关 DEBUG_MEMORY_LEAK 就可以控制打开或关闭内层泄漏检测了.
检测结果在vc的output窗口里面找.
#include <bound_checker.h>
然后使用宏开关 DEBUG_MEMORY_LEAK 就可以控制打开或关闭内层泄漏检测了.
检测结果在vc的output窗口里面找.
CODE:
// file: bound_checker.h
#ifndef __BOUND_CHECKER_H__
#define __BOUND_CHECKER_H__
#if defined(DEBUG_MEMORY_LEAK)
/**
* 以下代码用于检测内存泄漏.
* 需要在每个c/cpp文件最开始处包含此头文件.
*/
#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>
static struct __BC_EnableDebug__
{
__BC_EnableDebug__()
{
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
}
}_bc_enable_debug_;
#endif
#endif
#ifndef __BOUND_CHECKER_H__
#define __BOUND_CHECKER_H__
#if defined(DEBUG_MEMORY_LEAK)
/**
* 以下代码用于检测内存泄漏.
* 需要在每个c/cpp文件最开始处包含此头文件.
*/
#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>
static struct __BC_EnableDebug__
{
__BC_EnableDebug__()
{
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
}
}_bc_enable_debug_;
#endif
#endif