繁体   English   中英

为什么指令中只包含 header 文件 (.h) 而不是源文件 (.c)?

[英]Why only include header files (.h) but not the source file (.c) in the directives?

编译器如何知道我包含哪个源文件? 只要 header 的名称和源文件的名称相同就可以吗? 例如,header 文件example .h 指的是example .c ,所以包括 example.h 就足够了吗?

编译器如何知道我包含哪个源文件?

它没有。 编译器只知道你告诉它什么。 Header 文件旨在告诉编译器其他地方存在什么。

只要 header 的名称和源文件的名称相同就可以吗?

没什么区别。 按照惯例,我们人类发现将它们命名为相同名称更容易,这样我们就可以将 example.h 和 example.c 关联为 header 和同一模块的源代码。

例如,header 文件 example.h 指的是 example.c,所以包括 example.h 就已经足够了吗?

告诉编译器 example.c 中存在什么就足够了。

请记住,标头的目的是解释其他源文件中存在的内容。 (并声明类型,它们本身不会创建代码。)

This is a C question, but there is a very good overview at learncpp.com that applies equally to C as it does to C++. 具体来说,您可能希望通读:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM