我理解头文件包含实现文件中包含的每个函数的所有原型;但真正的目的是什么?是因为当另一个程序调用该类时,它只接收头文件中的信息,并且实现是隐藏的吗?这个的真正目的是什么?
答案 0 :(得分:1)
目的是当有人给你一个图书馆时,他们并不总是给你代码。坦率地说,你不想知道它。您只需要知道它提供的函数原型和数据结构,您可以从头文件中获取它们。然后你链接到图书馆。
以下是一个可能有助于您了解它的示例:
我发布了一个库libfoo
(如果它的.so,.a或.dll不重要)并告诉你它有一堆好的函数和数据类型来解决问题你想用它。如果我没有给你头文件,当你需要知道大数据结构是什么/要查找哪些函数签名时,你的代码怎么可能编译?你怎么知道如何编码呢?
在链接之前不会引用该库,并且此时编译已经完成。