作用:防止文件被多次编译,浪费不必要的时间
在一个工程里,多个 .cpp文件包含了同一个 .h文件,那么这个.h文件的开头和结尾就应该加上#ifndef 、#define和#endif组合,当编译第一个包含该.h文件的.cpp文件的时候,该.h文件会被编译,
因为#ifndef条件成立,但当编译后续的时,由于执行过#define了,#ifndef条件就不成立了,该.h文件就不会被编译了。
头文件结构形如下:
#ifndef XXX
#define XXX
...
#endif
相关推荐
头文件加#ifndef #define #endif
显然,头文件中的编译宏“#ifndef __INCvxWorksh、#define __INCvxWorksh、#endif” 的作用是防止该头文件被重复引用。 深层揭密extern "C" extern "C" 包含双重含义
#ifndef在头文件中的作用。
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别 pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。 原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的...
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 ...
在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”主要目的是防止头文件的重复包含和编译 ======================================================== 用法: .h文件,如下: #ifndef XX_H #define XX_H … #endif 这样如果有两个地方都...
在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ … … // 一些声明语句 #endif 方式二: #pragma once … ...
封装头文件:在自制的“万能头文件”中,使用#include指令包含C语言标准库和其他常用第三方库的所有头文件。 防止重复包含:使用预处理器指令#ifndef、#define和#endif来确保头文件不会被重复包含。 C #ifndef ...
#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 ...
头文件: #include #include "fatal.h" typedef int ElementType; #define NegInfinity (-10000) #ifndef _RedBlack_H #define _RedBlack_H struct RedBlackNode; typedef struct RedBlackNode *Position...
在头文件中实用#ifndef #define #endif能避免头文件的重定义。 方法:例如要编写头文件test.h 在头文件开头写上两行: #ifndef TEST_H #define TEST_H //一般是文件名的大写 头文件结尾写上一行: #endif 这样...
#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语言中,头文件(.h 文件)用于存放函数声明、宏定义、类型定义等接口信息,它是模块化编程的重要组成部分。下面是一个清晰的C语言模块化编程中头文件与源文件之间的链接关系示例: 模块化编程的基本步骤: ...
#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 #...
下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而...
#ifndef __DIBAPI_H_ #define __DIBAPI_H_ ////////////////////////////////////////////////////////// /* Handle to a DIB */ #define HDIB HANDLE // Dib Header Marker - used in writing DIBs to files...
头文件功能说明:AVR单片机 引脚 位操作 最后修改: SSTA_XJL 时间: 2009.3.28 **********************************************************************/ #ifndef _BIT_H_ #define _BIT_H_ /*********...
摸索了两天了,终于解决了所有问题,在此跟大家分享。 需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #...
#define只加一个参数 的解释 <stdio> 里有: #ifndef __STDIO_H #define __STDIO_H 这个__STDIO_H代表什么?而define的用法不是后面加两个字符串吗,它这里却只加一个字符串,是...也许在string.h头文件里又include了