必须实现头文件中定义的函数。该.c文件包含实现,尽管这些实现已经被编译成编译器可以使用的静态或共享库。
头文件应包含对函数的最少描述,以节省编译时间。如果它包含整个源代码,它会强制编译器每次编译时都重新构建它,这真的很浪费,因为该源代码永远不会改变。
实际上,头文件用作关于如何与已编译库交互的备忘单。
.c提供这些文件的原因主要是为了调试,因此您的调试器可以逐步执行调试构建并显示源代码而不是原始机器代码。在极少数情况下,您可能希望查看特定函数的实现以更好地理解它,或者在更罕见的情况下,识别错误。它们实际上并不用于编译您的程序。
在您的代码中,您应该只引用头文件版本,即.hvia#include指令。