C語言頭文件如何避免重複包含
來源:文萃谷 2.25W
一般情況下,我們都是把函數聲明、類定義、模板定義等寫到一個頭文件裏,需要時將相應的'頭文件用#include包含到源文件(*文件)裏來。但頭文件中又允許包含其它的頭文件,這樣就難免發生某個頭文件被重複地包含。大家知道C語言頭文件如何避免重複包含嗎?下面是小編為大家搜索整理的C語言頭文件如何避免重複包含,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
假定有以下幾個頭文件及其包含關係為:
File1.h,file2.h,file3.h,file4.h,file5.h,
那麼: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
#include
…..
#endif
File3.h:#ifndefH_FILE3
#defineH_FILE3
#include
#include
#inlcude”file1.h”
#include”file2.h”
…..
#endif
方法二:
在每個文件的頭部定義:#pragmaonce(用於解釋本文件中的內容只應用一次)
例:fiel1.h:
#pragmaonce
#include
#include
…..
File3.h:
#pragmaonce
#include
#include
#include”file1.h”
…..