有一个函数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 - 有人可能会相信答案都是错误的,并相应地投票。 :-) –