c++ - 头文件和库有什么区别?

标签 c++ c

我很难理解的一件事是编译器是如何工作的。我遇到了很多困难,但特别是我一直把标题和库搞混了。如果有人能把事情弄清楚一点,那就太好了。

最佳答案

这样想(免责声明:这是一个非常高级的类比;)..

  • 标题是您可以调用的电话号码,而...
  • ...图书馆是您可以在那里找到的真正的人!

这是“接口(interface)”和“实现”的根本区别; 接口(interface)(标题)告诉你如何调用某些功能(不知道它是如何工作的),而实现(库)是实际的功能。

注意:这个概念非常基础,因为它允许您灵活使用:您可以为不同的库拥有相同的 header (即功能以完全相同的方式调用),并且每个库都可以实现 以不同的方式实现功能。通过保持相同的界面,您可以在不更改您的代码的情况下替换库。

并且:您可以在不破坏调用代码的情况下更改库的实现!

关于c++ - 头文件和库有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/924485/

相关文章:

c++ - Matlab中调用C++函数,处理二维数组,指针的指针?

c++ - FlatBuffers 中的 original_order 和数组

c - 在C中正确分隔字符串

c - 使用 OpenCV 的 C 语言图形用户界面

c - 指向结构数组的指针

c++ - 如何在不将输入和输出定向到标准输入的情况下使用 popen 在 C++ 中打开进程?

c++ - 在 C++ 中使用附加模板参数扩展模板化结构

c# - 找出 USB 连接来自哪个端口

c - 根据参数值展开宏

c - 我真的需要malloc吗?