我有一些關於頭文件的問題(我正在談論c,但我認爲它將是相同的C++),讓我們假設我有一些my_ADT.c
文件(我已經實現的功能和實際struct
),也my_ADT.h
裏面我有pointer for my struct
Question:
如果我使用ADT Set
實施my_ADT
我需要包括set.h
兩個文件my_ADT.h and my_ADT.c
或包括只my_ADT.h
就足夠了(裏面my_ADT.c我#include "my_ADT.h"
)在此先感謝包括頭文件
Q
包括頭文件
1
A
回答
1
如果my_ADT.h
包含在my_ADT.c
文件,那麼你只能在my_ADT.h
中包含set.h
。
3
有3個場景
set.h
僅在my_ADT.h
set.h
需要只需要my_ADT.c
set.h
需要在這兩個my_ADT.h
和my_ADT.c
set.h
是沒有必要的:-)
對於方案3)添加#include "set.h"
到文件my_ADT.h
,文件,其實,並#include "my_ADT.h"
在my_ADT.c
(適當包括警衛,你不可能包括set.h
也向C文件)沒什麼。
對於方案2)包括set.h
僅在my_ADT.c
對於方案1)包括set.h
僅在my_ADT.h
0
在癮PMG回答您必須知道避免的#include問題的一個好辦法就是圍繞所有包含預編譯程序指令的頭文件都會檢查.h文件是否已包含在內。引起多發性頭包含
#ifndef __my_ADT_header
#define __my_ADT_header
/*
* your header declaration here
*/
#endif
這個防止錯誤
希望這有助於
相關問題
- 1. C++頭文件和包括
- 2. 包括頭文件C++
- 3. 包括模板頭文件
- 4. 混淆,包括頭文件
- 5. 包括DDK頭文件
- 6. 包括頭部(STL)頭文件
- 7. make文件:頭包括另一頭C++
- 8. 基類包括.cpp文件頭文件
- 9. 在附加頭文件中包含頭文件包括路徑
- 10. HOWTO:條件包括頭文件
- 11. 聽不懂,包括頭文件
- 12. 陰謀不包括C頭文件
- 13. 包括模板類型的頭文件
- 14. 包括對方的C++頭文件
- 15. 回合包括頭文件使用C
- 16. C++頭文件包括組織
- 17. C:包括源文件,而不是頭
- 18. 包括DLL中的Qt頭文件
- 19. 頭,不cpp文件,幷包括訂購
- 20. 包括一個Windows DDK頭文件
- 21. GCC包括窗口中的頭文件
- 22. Xcode自動完成頭文件/包括?
- 23. 如何包括makefile文件頭目錄
- 24. PHP - 處理POST和頭文件包括
- 25. 包括libclang頭
- 26. 包括頭
- 27. C++靜態庫依賴項,頭包括頭文件
- 28. 圓C++頭包括
- 29. 包括頭與PHP
- 30. 圓C++頭包括