博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE
阅读量:4910 次
发布时间:2019-06-11

本文共 770 字,大约阅读时间需要 2 分钟。

#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILE

在debug8版本(调试版本),就将new(申请内存)的操作符改成DEBUG_NEW,估计会抛异常等带调试手段的函数取消THIS_FILE这个宏的定义
DEBUG_NEW #define new DEBUG_NEW 说明: 帮助查找内存错误。用户在程序中使用DEBUG_NEW,用户通常使用new运算符来从堆上分配。在Debug模式下(但定义了一个DEBUG符号),DEBUG_NEW为它分配的每个对象记录文件名和行号。然后,在用户使用CMemoryState::DumpAllObjectSince成员函数时,每个以DEBUG_NEW分配的对象分配的地方显示出文件名和行号。 为了使用DEBUG_NEW,应在用户的资源文件中插入以下指令: #define new DEBUG_NEW 一旦用户插入本指令,预处理程序将在使用new的地方插入DEBUG_NEW,而MFC作其余的工作。但用户编译自己的程序的一个发行版时,DEBUG_NEW便进行简单的new操作,而且不产生文件名和行号消息。 #ifdef _DEBUG //如果定义了_DEBUG,也就是调试版程序,则执行以下三句 #define new DEBUG_NEW //定义new为DEBUG_NEW #undef THIS_FILE //取消以前对THIS_FILE的定义 static char THIS_FILE[] = __FILE__; //声明并初始化THIS_FILEO数组,数据的初始数据为该文件的文件名 #endif __FILE__ 就是当前源文件的名称

转载于:https://www.cnblogs.com/nealgavin/p/3205897.html

你可能感兴趣的文章
CommonJS是如何提高javascript的生产力的
查看>>
在 Windows 上安装 Hadoop 教程(转)
查看>>
PHP数组函数(4)
查看>>
js获取一个对象的所以属性和值
查看>>
XML解析之SAX详解
查看>>
leetcode 338. Counting Bits
查看>>
NUMBER类型细讲
查看>>
koa2-3
查看>>
MySQL慢查询日志总结
查看>>
ipad常见错误
查看>>
时钟效果
查看>>
Linux下安装与配置Nginx
查看>>
FCC 基础JavaScript 练习7
查看>>
真的要听妈妈的话。
查看>>
bzoj4873: [Shoi2017]寿司餐厅
查看>>
结对-航空购票系统-开发过程
查看>>
分支语句
查看>>
VBA语句 - 判断语句
查看>>
Android开发代码规范(转)
查看>>
生成函数学习笔记
查看>>