微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > #ifndef 在头文件中的作用

#ifndef 在头文件中的作用

时间:11-25 来源:互联网 点击:
在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时

,就会出现大量“重定义”的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。

方法:例如要编写头文件test.h

在头文件开头写上两行:

#ifndef _TEST_H

#define _TEST_H//一般是文件名的大写

头文件结尾写上一行:

#endif

这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。

分析:当第一次包含test.h时,由于没有定义_TEST_H,条件为真,这样就会包含(执行)#ifndef _TEST_H和

#endif之间的代码,当第二次包含test.h时前面一次已经定义了_TEST_H,条件为假,#ifndef _TEST_H和

#endif之间的代码也就不会再次被包含,这样就避免了重定义了。

#ifndef __74HC595_H__
#define __74HC595_H__

#endif

#ifndef _optimizedvector_h // if not define _optimizedvector_h
#define _optimizedvector_h // then define _optimizedvector_h

通俗点就是如果没定义_optimizedvector_h,那就定义_optimizedvector_h,防止重复编译


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top