C語言頭文件如何避免重複包含

來源:文萃谷 2.25W

一般情況下,我們都是把函數聲明、類定義、模板定義等寫到一個頭文件裏,需要時將相應的'頭文件用#include包含到源文件(*文件)裏來。但頭文件中又允許包含其它的頭文件,這樣就難免發生某個頭文件被重複地包含。大家知道C語言頭文件如何避免重複包含嗎?下面是小編為大家搜索整理的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”

…..

熱門標籤