为什么在C ++静态DLL链接中使用L​​IB?

时间:2013-04-11 09:00:56

标签: c++ dll static-linking

我知道如何实现静态和运行时dll链接,但我更感兴趣的是为什么在静态dll链接中需要dll的LIB(静态库)?通常LIB注意到但是代码容器(方法实现),但是比较静态dll链接和运行时dll链接(LoadLibrary,GetProcAddress ...)我得到的印象是LIB用于以某种方式获取dll过程地址?也许我完全错了,我不知道......

1 个答案:

答案 0 :(得分:0)

与DLL一起使用的LIB库包含“存根”,用于“连接”您使用DLL中的代码编写的代码。通常,它只是共享库中实际代码的“跳转指令”。它还包含对要使用的实际共享库的引用,以便将可执行文件引入内存的加载器可以在此时加载相关的共享库。

当您使用运行时链接来使用共享库时,您的代码负责加载库,并解析正在使用共享库中的哪些函数。