CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

我不明白这个,请各位帮我解释一下... About #define #undefine endif

楼主cqtine(河沙)2002-04-18 09:19:44 在 VC/MFC / 基础类 提问

#undef   _WIN32  
   
  #if   !defined(_WIN32)  
  #error   _WIN32   must   be   defined   //error  
  #endif  
   
  int   main()   {  
        return   0;  
  }  
  问题点数:100、回复次数:7Top

1 楼xming076(虚名)回复于 2002-04-18 09:25:06 得分 10

#undef   _WIN32     //   把_WIN32这个符号变为未定义的  
   
  #if   !defined(_WIN32)     //   如果没有_WIN32这个定义符号  
  #error   _WIN32   must   be   defined   //   在编译器下就会出现这个信息  
  #endifTop

2 楼totalindex(洪清)回复于 2002-04-18 09:29:50 得分 10

#undef   _WIN32     //   取消_WIN32宏定义  
   
  #if   !defined(_WIN32)     //   如果未定义_WIN32宏  
  #error   _WIN32   must   be   defined   //   在编译时显示错误信息  
  #endif   //   与前面最近的#if(或其它#if类型)匹配,表示if结束Top

3 楼findcaiyzh(秋心)回复于 2002-04-18 09:33:01 得分 10

防止重复包含。很有用的东东。Top

4 楼ericzhangali(另一个空间)回复于 2002-04-18 09:37:05 得分 0

条件编译,语言语法书上应该都有。Top

5 楼hyc1980(???)回复于 2002-04-18 09:45:30 得分 0

这叫Compiler   Directive,你可以查找一下msdn可以看到很详细的说明Top

6 楼cqtine(河沙)回复于 2002-04-18 09:51:06 得分 0

各位看:  
  #undef   _WIN32     //   在这里   取消了   _WIN32   宏定义   ?  
   
  #if   !defined(_WIN32)     //   上面已经取消了,那这里再判断是否定义?可能意  
                                                  义不大,为什么还定义???  
  #error   _WIN32   must   be   defined    
   
  #endif    
   
  TO   :   findcaiyzh(秋心)   :  
   
  这个东东如何实现防止重复包含,请那位详细举例说明一下,这个条件编译、重复包  
   
  含等东西长期困扰着我,希望仁兄门多多举例说明!!  
   
  我最后整理,贴出,供如我一样的初学者朋友学习!!!  
  Top

7 楼opentuxedo(借哥哥的号来试试)回复于 2002-04-18 10:21:13 得分 70

这几句话是让你一定要包含一个头文件(应该是windows),因为头文件中定义了_WIN32,如果你不包含的话,就出错  
   
  #undef   _WIN32  
  #include   "*.h"//_WIN32在些文件中定义  
  #if   !defined(_WIN32)  
  #error   _WIN32   must   be   defined   //error  
  #endif  
   
  int   main()   {  
        return   0;  
  }  
  Top

相关问题

  • 关于#ifndef#define#endif,
  • #if _MSC_VER > 1000 #pragma once #endif 这三行代码谁解释一下?
  • 关于#ifndef #define #endif的问题
  • 关于#ifndef #define #endif的问题
  • #ifndef _PortClass_HPP_ define _PortClass_HPP #endif 是什么意思?
  • 问一个关于#ifndef#define#endif的问题
  • 请问:#ifndef #define #endif结构是什么意思?
  • #pragma once 和 #ifndef #define ...#endif 有什么不同?
  • #define DOUBLE(x) x+x这是什么意思?给解释一下i = 5*DOUBLE(10);为什么i是60,给解释一下,在线等
  • 怎么解释:送分#define CONFIG_CMD(bus, device_fn, where) (0x80000000 | (bus << 16) | (device_fn << 8) | (where & ~3))

关键词

  • win32
  • 文件
  • 定义
  • undef
  • endif
  • defined
  • 宏
  • 取消
  • error

得分解答快速导航

  • 帖主:cqtine
  • xming076
  • totalindex
  • findcaiyzh
  • opentuxedo

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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