msvc的动态链接

参考微软doc 将可执行文件链接到 DLL
msvc的动态链接库分为隐式链接(Implicit Linking)和显式链接(Explicit Linking)
隐式链接需要:.h文件,.lib文件,.dll文件
显式链接只需要:.dll文件

隐式链接

这里的.lib文件并不是静态库(static library)而是导出库(import library),两种库文件从文件名看不出任何区别,可以通过vs提供的工具lib.exe判断一个lib文件是导出库还是静态库
lib /list显示*.obj的是静态库,显示*.dll的是导出库
这是import library

这是static library

隐式链接用法

  1. 准备好三种文件,以openssl为例(.h .lib .dll)
  2. 添加头文件搜索,有两种方式,任选一种就可以,建议“附加包含目录”(区别请看:msvc 库目录/附加库目录 包含目录/附加包含目录的区别
  3. 添加lib文件搜索目录,有两种方式,任选一种就可以,建议“附加库目录”(区别请看:msvc 库目录/附加库目录 包含目录/附加包含目录的区别
  4. 添加需要链接的lib文件

显式链接

需要 LoadLibraryEx和GetProcAddress 函数

posted @   feipeng8848  阅读(154)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示