有一個函數f
在foo.c
,我把f Prototypes
納入頭文件。關於C程序中的.c文件和.h文件?
,然後,有3個問題:
- 沒有頭文件必須命名爲
foo.h
? - 確實
foo.c
和foo.h
必須在同一個目錄? - 如果兩個問題的答案都是否,也就是說,一個頭文件可以命名爲
f.h
,foo.c
和f.h
可以在不同的目錄下。看起來例如:
〜/的CFile/foo.c的
#include "~/hfile/f.h"
int f(void){
...
}
〜/ HFILE/FH
int f(void);
〜/主/ cmain.c
#include "~/hfile/f.h"
int main(void){
f();
...
}
然後,當我打電話f
功能cmain.c,cmain.c可以通過#include
指令找到FH,但cmain.c如何找到foo.c的 FH,因爲cmain.c只包括fh不包括foo.c?或者編譯器或鏈接器如何找到foo.c by f.h?
爲什麼所有的downvotes所有正確的答案? –
我在回答這個問題的時候,當我注意到所有的答案出現,並且有人對每個答案都給予-1s ...有些人只是爲了好玩而做它,我猜... – Rogus
@Anders - 有人可能會相信答案都是錯誤的,並相應地投票。 :-) –