【发布时间】:2012-06-25 20:30:12
【问题描述】:
这是一个理论上的疑问。 假设你有一个只有两个文件的小库:lib.h。 lib.cpp 的头文件,实现代码。 按照惯例,在 C++ 中,我们将 lib.h 包含在 lib.cpp 中,也就是说,lib.h“不知道”“lib.cpp”的存在。 所以,要在程序中使用我们的库,假设:myprogram.cpp 和 myprogram.h,我必须只包含“lib.h” 那么,我的程序将如何加载头文件的实现呢?如果头文件“不知道”实现文件的存在?
【问题讨论】:
-
您还必须将库源代码编译为二进制形式(即目标文件,或静态或共享库),并将应用程序代码链接到它。参见例如en.wikipedia.org/wiki/Linker_(computing).
-
你问题的前提是错误的。实现代码不一定只存在头文件。