在一个大的软件工程里边,或许会有多个文件一起包括一个头文件,当这些文件编译链接成一个可履行文件时
,就会呈现很多“重界说”的过错。在头文件中有用#ifndef #define #endif能避免头文件的重界说。
办法:例如要编写头文件test.h
在头文件最初写上两行:
#ifndef _TEST_H
#define _TEST_H//一般是文件名的大写
头文件结束写上一行:
#endif
这样一个工程文件里一起包括两个test.h时,就不会呈现重界说的过错了。
剖析:当第一次包括test.h时,因为没有界说_TEST_H,条件为真,这样就会包括(履行)#ifndef _TEST_H和
#endif之间的代码,当第2次包括test.h时前面一次现已界说了_TEST_H,条件为假,#ifndef _TEST_H和
#endif之间的代码也就不会再次被包括,这样就避免了重界说了。
#ifndef __74HC595_H__
#define __74HC595_H__
#endif
#ifndef
#define _optimizedvector_h // then define _optimizedvector_h
浅显点便是假如没界说_optimizedvector_h,那就界说_optimizedvector_h,避免重复编译