`

#ifndef和#define在头文件中的作用

    博客分类:
  • BCB
阅读更多

作用:防止文件被多次编译,浪费不必要的时间

在一个工程里,多个 .cpp文件包含了同一个 .h文件,那么这个.h文件的开头和结尾就应该加上#ifndef 、#define和#endif组合,当编译第一个包含该.h文件的.cpp文件的时候,该.h文件会被编译,

因为#ifndef条件成立,但当编译后续的时,由于执行过#define了,#ifndef条件就不成立了,该.h文件就不会被编译了。

 

头文件结构形如下:

#ifndef XXX

#define XXX

 

...

 

#endif

 

分享到:
评论

相关推荐

    头文件加#ifndef #define #endif.pdf

    头文件加#ifndef #define #endif

    CC++常见标准头文件前的一般格式解析2

    显然,头文件中的编译宏“#ifndef __INCvxWorksh、#define __INCvxWorksh、#endif” 的作用是防止该头文件被重复引用。 深层揭密extern "C"  extern "C" 包含双重含义

    #ifndef在头文件中的作用

    #ifndef在头文件中的作用。

    C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别

    C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别 pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。 原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的...

    iom16v.h ATmega16的头文件

    ifndef __iom16v_h #define __iom16v_h #define uchar unsigned char #define uint unsigned int #ifndef BIT #define BIT(x) (1 (x)) #endif /* ATmega16 header file for * ImageCraft ICCAVR ...

    12864串行驱动头文件

    在main()中开输出 #define uint unsigned int #define uchar unsigned char #ifndef 12864 H #define 12864 H #define uint unsigned int #define uchar unsigned char #define CPU F double 16000000 cpu ...

    浅谈#ifndef,#define,#endif的作用和用法

    问题:ifndef/define/endif”主要目的是防止头文件的重复包含和编译 ======================================================== 用法: .h文件,如下: #ifndef XX_H #define XX_H … #endif 这样如果有两个地方都...

    全面了解#pragma once与 #ifndef的区别

    在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ … … // 一些声明语句 #endif 方式二: #pragma once … ...

    万能头文件在C语言中的重要性及其主要格式.docx

    封装头文件:在自制的“万能头文件”中,使用#include指令包含C语言标准库和其他常用第三方库的所有头文件。 防止重复包含:使用预处理器指令#ifndef、#define和#endif来确保头文件不会被重复包含。 C #ifndef ...

    netcon.h头文件

    #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 440 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version ...

    redblack tree 红黑树代码

    头文件: #include #include "fatal.h" typedef int ElementType; #define NegInfinity (-10000) #ifndef _RedBlack_H #define _RedBlack_H struct RedBlackNode; typedef struct RedBlackNode *Position...

    C/C++语言宏定义使用实例详解

    在头文件中实用#ifndef #define #endif能避免头文件的重定义。 方法:例如要编写头文件test.h 在头文件开头写上两行: #ifndef TEST_H #define TEST_H //一般是文件名的大写 头文件结尾写上一行: #endif 这样...

    cc1101头文件

    #ifndef _CC1101_H_ #define _CC1101_H_ #define INT8U unsigned char #define INT16U unsigned int #define uclong unsigned long #define uchar unsigned char #define uint unsigned int

    c语言头文件如何模块化编程-有最清晰的链接关系.docx

    在C语言中,头文件(.h 文件)用于存放函数声明、宏定义、类型定义等接口信息,它是模块化编程的重要组成部分。下面是一个清晰的C语言模块化编程中头文件与源文件之间的链接关系示例: 模块化编程的基本步骤: ...

    sched的头文件内容

    #ifndef _LINUX_SCHED_H #define _LINUX_SCHED_H #include <asm/param.h> /* for HZ */ extern unsigned long event; #include #include #include #include #include #include #include #include #...

    C语言宏定义技巧(常用宏定义)

    下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而...

    DIBAPI.h头文件

    #ifndef __DIBAPI_H_ #define __DIBAPI_H_ ////////////////////////////////////////////////////////// /* Handle to a DIB */ #define HDIB HANDLE // Dib Header Marker - used in writing DIBs to files...

    AVR示波器工程制作

    头文件功能说明:AVR单片机 引脚 位操作 最后修改: SSTA_XJL 时间: 2009.3.28 **********************************************************************/ #ifndef _BIT_H_ #define _BIT_H_ /*********...

    C++ 编写DLL文件给易语言调用方法

    摸索了两天了,终于解决了所有问题,在此跟大家分享。 需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #...

    C#中#define后面只加一个参数的解释

    #define只加一个参数 的解释 <stdio> 里有: #ifndef __STDIO_H #define __STDIO_H 这个__STDIO_H代表什么?而define的用法不是后面加两个字符串吗,它这里却只加一个字符串,是...也许在string.h头文件里又include了

Global site tag (gtag.js) - Google Analytics