h是声明,lib是实现
好比一个人的名字和实体一样
.h 是给人看的.
.lib 是给连接器看的.
所以如果要使用一个第三方函数库,既须要该函数库的.h文件用以通知编译器了解函数的调用方法,也需要.lib文件,以让链接器能将函数的实现代码连接到程序二进制文件中,形成一个完整的实体。
那么对于动态链接库.dll,是否还需要.lib文件呢???好象不需要了???因为被调用函数的代码已经包含在.dll文件中了???
只有.lib没有.dll的库是静态库,代码会在链接阶段连入最终执行程序中
既有.lib又有.dll的库是动态库,代码在连接阶段只把.dll函数的索引信息接入最终执行文件,实际实现代码还是在.dll中,在运行时再从.dll中加库执行。
那为在开发阶段调用.dll是否也必须需要.lib库呢????
阅读(1878) | 评论(0) | 转发(0) |