program.c :
int main () {
hello();
return 0;
}
tools.c :
void hello (void) {
printf("hello world\n");
}
Makefile :
program : program.o tools.o
在这个程序的文件集中我没有tools.h 文件,即使它编译得很好没有错误,有人能解释一下 C 程序中头文件的用途吗?
目前我只有一个想法:编译层需要结构体等变量...
但在我的例子中,如果头文件只包含函数原型(prototype),是否需要更长的时间来构建它? (makefile 链接器语法更容易理解)。
最佳答案
头文件通常包含在源 C 文件中定义的函数的声明。
它有什么作用?
- 它为您提供了额外的安全性,编译器根据声明检查传递给函数的参数,如果发现不一致则报告错误。
- 它们允许将接口(interface)与实现分离。基本上,这允许您将代码(实现)作为一个库提供,客户需要链接到该库,而只在他们的应用程序中包含接口(interface)头文件。
关于c - 隐式头包含在 C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978298/