gpt4 book ai didi

c - 我应该在哪里列出 c 和 makefile 中的 header

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:24 24 4
gpt4 key购买 nike

我正在学习如何将我的 C 代码拆分成多个文件。我不太明白的是我必须在哪里指定头文件。如果我没理解错的话,一个函数的头文件一定要列在

  1. 函数的源文件,使用#include
  2. 调用函数的任何代码,使用#include,和
  3. Makefile,作为每个#include 头文件的文件的依赖项。

这对我来说太多余了。我在这里遗漏了什么吗?

最佳答案

严格来说,我不认为它需要包含函数的源文件,但我相信如果不这样做,您会收到许多常见编译器标志的警告。 (我也可能是错的。)

您绝对需要在使用该函数的其他文件中使用它,以便编译器可以知道函数的签名是正确的(否则它必须猜测并且它猜错并犯错误,因为的)。事情可能仍然有效,但这并不能保证也不是一件值得信赖的好事。

您需要将它列在 makefile 中,以便 make 知道如果头文件发生更改,它需要重建目标文件(对源文件的依赖性通常隐含在规则本身中,但头文件不是那)。在 makefile 中手动列出所有这些是乏味的,这就是编译器帮助您这样做的原因,也是为什么诸如 autotools(和其他此类框架)之类的东西为您自动完成大部分工作的原因。参见 Advanded Auto-Dependency Generation对此进行一些讨论。

简而言之,不,您没有遗漏任何东西,但也没有您认为的那么烦人。

关于c - 我应该在哪里列出 c 和 makefile 中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555889/

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