CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

有几宏不明白! 请高手帮忙!

楼主atgjplh(永远的C/C++(unix/liunx))2006-05-01 09:05:56 在 C/C++ / C++ 语言 提问

1.     这里为什么还有new    
        #ifdef   _DEBUG_  
        #define   new   DEBUG_NEW  
   
  2.   #pragma   once   用来做什么的? 问题点数:20、回复次数:3Top

1 楼tjshif(tjshif)回复于 2006-05-01 10:20:38 得分 10

#define   new   DEBUG_NEW    
  帮助查找内存错误。通常使用new运算符来从堆上分配。在Debug模式下,DEBUG_NEW为它分配的每个对象记录文件名和行号。然后,在用户使用CMemoryState::DumpAllObjectSince成员函数时,每个以DEBUG_NEW分配的对象分配的地方显示出文件名和行号。   为了使用DEBUG_NEW,应在用户的资源文件中插入以下指令:   #define   new   DEBUG_NEW   一旦用户插入本指令,预处理程序将在使用new的地方插入DEBUG_NEW,而MFC作其余的工作。但用户编译自己的程序的一个发行版时,DEBUG_NEW便进行简单的new操作,而且不产生文件名和行号消息。    
  #pragma   once    
  保证只编译一次  
  类似与  
  #ifndef   adf_H_  
  #define   adf_H_  
  代码  
  #endif  
   
   
  Top

2 楼lei001(太极)回复于 2006-05-01 10:27:41 得分 10

#pragma   once和#ifdef   _DEBUG_  
  都是避免这个宏被重复定义的Top

3 楼atgjplh(永远的C/C++(unix/liunx))回复于 2006-05-01 16:16:17 得分 0

谢谢Top

相关问题

关键词

得分解答快速导航

  • 帖主:atgjplh
  • tjshif
  • lei001

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo