gpt4 book ai didi

c - 隐式头包含在 C 中

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:28 28 4
gpt4 key购买 nike

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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com