【发布时间】:2016-03-14 14:33:26
【问题描述】:
在 C: The Complete Reference 中,Herbert Schildt 这么说
标头通常是文件,但不一定是文件。编译器可以在内部预定义标头的内容。然而,出于所有实际目的,标准 c 头文件包含在与其名称相对应的文件中。
标题如何存在而不是文件? 这段话的主题是什么? 因为 .h 文件扩展名与标头一起使用。
【问题讨论】:
-
例如,您可能会说
#include "/path/to/some/named/pipe"。当然,您会期望命名管道始终存在于每个编译单元,但确保这可能比它的价值更困难(请记住,第一个“抓取”命名管道的编译单元可能会关闭该管道以供以后的编译单元使用) -
你能在引号周围添加更多上下文吗?
-
@inetknght 是正确的:“标头是一个标准标识符,可以映射到文件名,但不需要。[...] 然而,实际上, C 头文件几乎总是文件。” (我的 emph。)(人们可能仍然想知道为什么“几乎总是”:P)
-
与这个问题并不真正相关,但很多人似乎不喜欢那本书。 stackoverflow.com/a/579795/646887
-
@KlasLindbäck:Peter Seebach 的C: The Complete Nonsense 是一个相当长的批判性评价。是的,他在 Schildt 对头文件的描述中提到了一部分,“他因‘通常’而受到赞誉。不幸的是,其余的都不是很好。”
标签: c header-files