关于C编程中的.c文件和.h文件?
在foo.c中有一个函数f,我将f Prototypes放入头文件中.
然后,有3个问题: >头文件必须命名为foo.h吗? ?/的CFile / foo.c的 #include "~/hfile/f.h" int f(void){ ... } ?/ HFILE / f.h int f(void); ?/主/ cmain.c #include "~/hfile/f.h" int main(void){ f(); ... } 然后,当我在cmain.c中调用f函数时,cmain.c可以通过#include指令找到f.h,但cmain.c如何通过f.h找到foo.c,因为cmain.c只包含f.h而不包括foo.c?或编译器或链接器如何通过f.h找到foo.c? 解决方法
1.头文件必须命名为foo.h吗?
这不是必要的,但它可以很方便,而且大部分时间都是不成文的规则. 2. foo.c和foo.h必须在同一个目录中吗? 这不是必需的.您可以给c编译器包含目录.或者您可以包括相对于目录,例如 #include "inc/foo.h" 3.如果两个问题的答案都是否定的,foo.c和f.h可以在不同的目录中.然后,当我调用f函数时,它可以通过#include指令找到f.h文件,但编译器或链接器如何找到foo.c并从foo.c调用f? 请参阅答案2.例如,请参阅带有-I选项的gcc手册(https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html) 更新: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |