CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

关于vc头文件的预编译指令请教!

楼主DanielZhao(灰尘)2003-11-01 09:44:33 在 VC/MFC / 基础类 提问

VC的头文件开头,一般都有“#if   !defined(AFX_XXXX_H_ECG.............)”之类的代码,据书中解释是为了“防止此文件被包含多次”,我想请教一下什么叫“被包含多次”,什么样情况下会“被包含多次”,包含多次了会怎么样? 问题点数:0、回复次数:2Top

1 楼crybird(寒号鸟)回复于 2003-11-01 10:12:48 得分 0

a.h       b.h           c.h...............  
   
  b.h//////////////包含两次a.h  
   
  #include   "a.h"  
  #include   "a.h"  
   
  c.h////////////包含3次a.h,b.h本身包含两次  
  #include   "a.h"  
  #include   "b.h"  
   
  ///////出现   重定义   的问题,不能编译和执行  
  Top

2 楼csdnzhu(我什么也不会)回复于 2003-11-01 11:32:21 得分 0

其实你贴出来的语句是VC编译器自动加的,所以有些晕,其实在我们自己编程写头文件时是这样写的  
  比如在     myclass.h中这样写  
  #IFNDEF   MYCLASS_H  
  #DEFINE   MYCLASS_H  
   
  类定义  
   
  #ENDIFMYCLASS_H  
   
  这样在预处理时,一旦myclass.h曾经在哪一个文件中被包括过,那么DEFINE   肯定被宏定义过,当在有#include   "myclass.h"语句时,myclass.h里面的语句就不会被编译,保证一个文件不能被多次包含Top

相关问题

  • 【求助:编译错误,使用错误的预编译头文件指令?】
  • vc中不能编译帮助文件
  • VC编译dll文件的问题
  • VC 怎么设置成用c++的编译器编译.c文件
  • vc编译问题,pc上的c代码放到evc中编译时的错误:预编译头指令碰到意外文件结尾。(万望留步一看)
  • 在vc工程中用到.c文件,编译报“在查找预编译头指令时遇到意外的文件结尾”错。这是什么原因?怎么改?
  • 关于vc编译的问题:如何编译包含SetLayeredWindowAttributes的文件
  • 在vc中嵌入汇编为什么call指令编译总是出错??
  • VC怎么总是编译所有的文件?--help
  • vc是按什么顺序对文件进行编译的?

关键词

  • 文件
  • 语句
  • vc
  • myclass
  • 定义
  • define
  • include

得分解答快速导航

  • 帖主:DanielZhao

相关链接

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

广告也精彩

反馈

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