CSDN论坛 > C/C++ > C++ 语言

许多头文件中都有#ifndef XXX_H #define XXX_H #endif XXX_H.请问我什么要这么定义?XXX_H有是什么东西? [问题点数:20分,结帖人lieyu063]

Bbs1
本版专家分:20
结帖率 93.81%
CSDN今日推荐
Bbs2
本版专家分:118
Bbs4
本版专家分:1108
Blank
黄花 2004年10月 Java大版内专家分月排行榜第二
Bbs1
本版专家分:20
Bbs2
本版专家分:232
Bbs1
本版专家分:74
Bbs1
本版专家分:35
Bbs2
本版专家分:291
Bbs1
本版专家分:95
Blank
黄花 2005年9月 Linux/Unix社区大版内专家分月排行榜第二
2005年5月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年8月 Linux/Unix社区大版内专家分月排行榜第三
2005年6月 Linux/Unix社区大版内专家分月排行榜第三
Bbs1
本版专家分:65
Bbs1
本版专家分:13
匿名用户不能发表回复!
其他相关推荐
C语言中#ifdef,#ifndef和#endif的作用
1、用于注释掉一段代码 我们自己编写程序的时候,需要看到一系列的调试代码,但是发给客户的时候,客户可不希望看到什么什么OK的代码,所以我们希望能很容易地注释掉这段代码。 这时需要用到预处理指令 #ifdef 和 #endif : #include <stdio.h> #define CONFIG_DEBUG int main(){ FILE *fp; fp=fo...
ifndef/define/endif 结构产生预处理块
最近在看一些C++编程规范,提到了ifndef/define/endif结构产生预处理块,想想自己在原来的代码中虽然知道这个但是并没有完全使用过,特地试了一下: 解释: 为什么要用到这个ifndef/define/endif结构呢?因为很可能一个头文件在一个.cpp文件中被多次引用,这种问题是由于#include嵌套所造成的,例如,有三个类a,b,c,在b.h中引用了a.h,在c.h中包含了a
头文件中#ifndef后面的如何写及什么作用
在头文件中加入#ifndef或#ifdef等宏定义,是为了防止重复声明。         我们知道,头文件一般是用来声明的,会被其他的源文件和头文件include,当被多个文件include的时候就会造成重复声明。 为了使得只声明一次,引入前面所说的宏定义,一般以文件名大写和_来当宏的名字。         这个宏是给预处理器用的,通常预处理变量用大写,所以这些宏定义都用大写。为了方便,一般将
c++中预处理变量#define#ifndef#endif的作用
我们在编写程序时,同时包含一个头文件多次是一件常见的事情,当然同时多次包含一个头文件可能会引起不必要的错误。使得头文件安全的通用做法,是使用预处理器定义头文件保护符。头文件保护符用于避免在已经见到头文件的情况下重新处理该头文件的内容。   C++为了避免头文件的多次包含,引入了预处理变量:#define,#ifndef ,#endif。 预处理器变量 的名字在程序中必须是唯一的。任何与预处理
#ifdef WIN32有什么作用?
经常在程序中碰到#ifdef WIN32这样的代码,实际上这提供了一种抽象机制,使代码可以在不同平台间移植. 下面给出一个简单的例子: #include using namespace std; #ifdef WIN32 #define HAHA 1 #else #define HAHA 0 #endif int main() { int i = HAHA; co
C语言中的#ifndef、#def、#endif等宏
#ifndef x   #define x   ...   #endif   这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等.实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中的一种----条件编译。 C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。   #ifndef x
#ifdef、#else、#endif的运用---极为方便的全局变量的定义和声明
在模块编程的过程中,我们经常会遇到全局变量的定义和声明,一般我们会在某个模块中定义,在别的模块中使用时在其头文件中声明即可 虽然这样可以达到目的,但是显得比较麻烦,现在我利用#ifdef、#else、#endif方便快捷的实现全局变量的定义和声明 如:我们把需要的全局的变量都放着同一个头文件中 头文件:includes.h #ifdef   GLOBALS #define  OS_EXT
为什么在.h文件中使用#ifndef CLASS_H和#define CLASS_H?
一般在.h文件中都会看到 #ifndef FILE_H #define FILE_H /* ... Declarations etc here ... */ #endif那么为什么要在.h文件中这么声明呢? 这是一种防止头文件被多次包含的预处理技术,由于各种原因可能是有问题的。在编译项目时,编译每个.cpp文件(通常)。简单来说,这意味着编译器会把你的.cpp文件,打开任何文件#inclu
第五章:在STM32给的库中stm32f10x_gpio.h的头文件中出现了这样的代码: #ifdef __cplusplus extern "C" { #endif的
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif   这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代
INT64_C的含义
其中定义如下: #ifndef INT64_C #define INT64_C(c) (c ## LL) #define UINT64_C(c) (c ## ULL) #endif 所以意思就是
关闭