一般情況下,我們都是把函式宣告、類定義、模板定義等寫到一個頭檔案裡,需要時將相應的'標頭檔案用#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”
…..