標頭檔案重複包含

2021-06-28 07:34:46 字數 337 閱讀 3823

如果某個標頭檔案被多次包含,則在vc編譯器中編譯,會丟擲「重複定義」錯誤。

為了避免同乙個檔案被重複包含多次,c++提出了2種解決方案。

1、#ifndef  _some_file_h

#define _some_file_h

#endif       //在檔案末端

2、#pragma one

#ifndef、#define、#endif是c++語言中的巨集定義,通過巨集定義來避免檔案多次編譯。即所有支援c++編譯器的都支援它。

但是#pragma one是編譯相關的,不是每乙個編譯系統都支援,移植性相對差一點。不過,現在基本上每個編譯器都有這個定義了。

標頭檔案重複包含

如果某個標頭檔案被多次包含,則在vc編譯器中編譯,會丟擲 重複定義 錯誤。為了避免同乙個檔案被重複包含多次,c 提出了2種解決方案。1 ifndef some file h define some file h endif 在檔案末端 2 pragma one ifndef define endif...

防止標頭檔案重複包含

在程式設計中,經常會遇到這種情況,我們的某乙個程式會呼叫多個dll,因此需要包含多個標頭檔案,不同的標頭檔案可能包含了相同某乙個下一級標頭檔案,這就可能會導致標頭檔案的重複包含,從而導致變數 函式的重定義等等,為了解決這個問題,就要求我們在編寫dll的時候,使用 ifndef define endi...

標頭檔案,庫檔案,重複包含

a.c include include a.h include b.h void main void a.c end include b.h end int i 3 b.h end 本例中主程式在a.c中定義。正常情況下,這三個檔案都在同一目錄下,進入該目錄,然後執行 cc c a.c表示編譯a.c...