为什么在LC++静态DLL中使用LIB?

为什么在LC++静态DLL中使用LIB?,c++,dll,static-linking,C++,Dll,Static Linking,我知道如何实现静态和运行时dll链接,但我更感兴趣的是为什么静态dll链接中需要dll的LIB静态库?通常LIB只是代码方法实现的容器,但比较静态dll链接和运行时dll链接LoadLibrary、GetProcAddress。。。我觉得LIB是用来获取dll过程地址的?也许我完全错了,我不知道..DLL附带的LIB库包含存根,这些存根将您编写的代码与DLL中的代码连接起来。通常,它只是到共享库中实际代码的跳转指令。它还包含对要使用的实际共享库的引用,以便将可执行文件引入内存的加载程序可以在该点

我知道如何实现静态和运行时dll链接,但我更感兴趣的是为什么静态dll链接中需要dll的LIB静态库?通常LIB只是代码方法实现的容器,但比较静态dll链接和运行时dll链接LoadLibrary、GetProcAddress。。。我觉得LIB是用来获取dll过程地址的?也许我完全错了,我不知道..

DLL附带的LIB库包含存根,这些存根将您编写的代码与DLL中的代码连接起来。通常,它只是到共享库中实际代码的跳转指令。它还包含对要使用的实际共享库的引用,以便将可执行文件引入内存的加载程序可以在该点加载相关的共享库


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

你大概是对的。对于静态库,LIB文件包含代码。对于动态库DLL,LIB文件仅包含链接器在DLL.Thx中查找函数所需的信息。这就是我想知道的。