制作源文件后是否需要创建头文件?头文件中包含哪些内容?是否有必要或仅适用于包含函数定义的源文件?
我真的很困惑,因为你放在头文件中的东西,比如函数端口类型,也可以放在源文件中。头文件是否仅适用于声明全局变量?是否需要创建与源文件同名的头文件。
我已经得到了“什么是头文件”的答案。显然已经发布了很多与此类似的问题,这就是为什么要添加一些后续问题。
制作源文件后是否需要创建头文件?头文件中包含哪些内容?是否有必要或仅适用于包含函数定义的源文件?
我真的很困惑,因为你放在头文件中的东西,比如函数端口类型,也可以放在源文件中。头文件是否仅适用于声明全局变量?是否需要创建与源文件同名的头文件。
我已经得到了“什么是头文件”的答案。显然已经发布了很多与此类似的问题,这就是为什么要添加一些后续问题。
我想您可以在 Google 上搜索并找到您需要知道的任何内容,但要简短:
在 C(和 C++)中,每个源(.c
或.cpp
)文件都在其自己的翻译单元上编译。这意味着每个文件都会自行编译以生成目标文件。编译完所有目标文件后,将它们链接在一起以创建最终的二进制文件。
这意味着源文件不知道其他源文件中定义了什么,需要头文件来填补这个空白:它提供了变量、函数以及在一个或多个源文件中实现的任何内容的声明,因此,当您将它包含在另一个源文件中时,编译器可以验证所有这些外部内容是否正确使用。这不是它的唯一目的,它可以帮助其他任务(如代码重用或分区),但这就是它存在的原因。
当您使用该#include
指令时,实际上包含头文件。