网学网C/C++编辑为广大网友搜集整理了:C语言头文件避免重复包含绩等信息,祝愿广大网友取得需要的信息,参考学习。
假定有以下几个头文件及其包含关系为:
File1.h,file2.h,file3.h,file4.h,file5.h,main.cpp
那么:file3.h包含file1.h,file2.h,file4.h包含file1.h,file2.h,file5.h包含file3.h,file4.h。如许就会导致在file5中对file1和file2的反复包含,编译时就会报错。
解决方法:
1:应用#ifndef
#define
#endif
即每个文件在定义时都写成以下情势(以file1.h为例):
#ifndefH_FILE1
#defineH_FILE1
#include<stdio.h>
#include<math.h>
…..
#endif
File3.h:#ifndefH_FILE3
#defineH_FILE3
#include<stdio.h>
#include<math.h>
#inlcude”file1.h”
#include”file2.h”
…..
#endif
方法二:在每个文件的头部定义:#pragmaonce(用于解释本文件中的内容只应用一次)
例:fiel1.h:
#pragmaonce
#include<stdio.h>
#include<math.h>
…..
File3.h:
#pragmaonce
#include<stdio.h>
#include<math.h>
#include”file1.h”
…..