我很难理解的一件事是编译器是如何工作的。我遇到了很多困难,但特别是我一直把标题和库搞混了。如果有人能把事情弄清楚一点,那就太好了。
最佳答案
这样想(免责声明:这是一个非常高级的类比;)..
- 标题是您可以调用的电话号码,而...
- ...图书馆是您可以在那里找到的真正的人!
这是“接口(interface)”和“实现”的根本区别; 接口(interface)(标题)告诉你如何调用某些功能(不知道它是如何工作的),而实现(库)是实际的功能。
注意:这个概念非常基础,因为它允许您灵活使用:您可以为不同的库拥有相同的 header (即功能以完全相同的方式调用),并且每个库都可以实现 以不同的方式实现功能。通过保持相同的界面,您可以在不更改您的代码的情况下替换库。
并且:您可以在不破坏调用代码的情况下更改库的实现!
关于c++ - 头文件和库有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/924485/