调试过程中,内存泄露检测信息

#ifdef _DEBUG      //如果_DEBUG已定义
#undef THIS_FILE   //取消定义THIS_FILE
static char THIS_FILE[]=__FILE__;    //定义THIS_FILE,把当前的文件名存入THIS_FILE中
#define new DEBUG_NEW     //定义DEBUG_NEW
#endif
 
THIS_FILE是用在DEBUG_NEW里
为什么不直接用new(__FILE__, __LINE__),因为较旧的编译器(如VC6.0)没有字符串池优化,可能会造成编译文件较大,所以用static char THIS_FILE[]声明唯一的副本
新版的(VS2005、2008、2010、2012)已经声明#define THIS_FILE __FILE__
posted @ 2015-12-18 10:44  时光回眸  阅读(215)  评论(0编辑  收藏  举报