【发布时间】:2017-09-08 07:49:52
【问题描述】:
试图写一个 VS2015 .dll 项目来了解 .lib 和 .dll 但被显式使用和隐式使用 dll 弄糊涂了。
现在我创建了一个 .dll 项目并成功编译它,然后我得到了一个 test.lib 和 test.dll,所以我的 test.h 应该可以在另一个项目中使用来验证功能对吗?
这是我的步骤:
- 创建一个包含名为“example.c”的.c 文件的win32 应用程序项目,其中包括“test.h”。我把我的“test.lib”放到这个项目的同一个目录中。
- 编译项目并获得发布版本。
- 将“test.dll”放入发布目录
- 双击.exe,一切正常。
我的问题是我的一所大学说我的程序只是使用静态库而不涉及动态库,我应该显式加载“test.dll”,这让我很困惑,因为我认为 .lib 不会包含实际代码,它应该只在编译时使用。
如果我错了,请纠正我。谢谢!
【问题讨论】:
-
.lib文件可以有两种。