Raj*_*aja 11 c++ dynamic-linking visual-studio libconfig
我有一个项目"Logger",其中配置类型是.dll.
"Logger"使用"libconfig"(开源配置解析器).目前,我有一个单独的"libconfig"项目,其配置类型是.lib
我将"libconfig"添加到Logger的框架和引用设置:
在Logger的链接器命令行中,我看到:/ IMPLIB:"path\to\Logger.lib"
我的问题是:为什么需要创建Logger.lib?我看到/ OUT ="path\to\Logger.dll",但我试图抓住visual studio的构建过程.
从M $的IMPLIB文档中,我看到了LINK过程的一部分.我还是不明白.
编辑:我没有提到如何使用Logger DLL.我的应用程序将在运行时加载它(因为只有特定的cmd行args才需要此功能)
Jer*_*fin 13
DLL包含代码..lib文件基本上包含文件中函数的存根,这使得链接器可以轻松(并且相对快速)将正确的信息放入可执行文件以使用DLL中的函数.
最终,没有理由他们必须这样做 - 它主要使链接器更简单,更快,因为它不需要(至少同样多)特殊情况代码来处理静态库和动态库.他们可以通过将代码和链接信息放入单个文件来解决这个问题,但这会增加文件大小(一点点).
它现在可能并不多,但当Windows是新的时,很多程序仍然分布在360K软盘上,因此最小化分发给用户的文件大小被认为是相当重要的.
使用logger.dll的exe需要链接到logger.lib.如果没有lib,就无法构建exe.lib包含满足exe代码调用的存根函数.(在运行时,存根将调用传输到DLL中.)
| 归档时间: |
|
| 查看次数: |
5865 次 |
| 最近记录: |