如果某個標頭檔案被多次包含,則在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...