加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

构建dll作为导出库的意义

发布时间:2020-12-14 05:40:08 所属栏目:Windows 来源:网络整理
导读:将dll构建为导出库的含义是什么?我只是谷歌搜索它.我发现它是一个动态链接库.任何人都可以解释一下究竟是什么dll?为什么我们需要在.dll文件中添加这些语句 extern "c" _declspec(dllexport) 我研究了静态和共享库,但我不知道为什么我们去dll文件.我学会了.
将dll构建为导出库的含义是什么?我只是谷歌搜索它.我发现它是一个动态链接库.任何人都可以解释一下究竟是什么dll?为什么我们需要在.dll文件中添加这些语句

extern  "c" _declspec(dllexport)

我研究了静态和共享库,但我不知道为什么我们去dll文件.我学会了.dll用于运行时.但是你可以帮助我并给我更多信息.提前谢谢你

解决方法

我的评论可能有点苛刻.我不是dll的权威,但我对它们有一些了解,所以我会尝试简短的解释.

静态库和共享库之间的区别应该很容易在Web搜索中找到,但基本上静态库中的代码都包含在最终的可执行文件中,因此在链接阶段之后,不再需要实际的库文件来运行程序;另一方面,共享库中的代码不会包含在主程序中 – 这两个部分保持独立,因此每次运行程序时都需要共享库(在Windows上称为dll).

“将dll构建为导出库”是一个令人困惑的术语.我之前没有听说过,在短暂的搜索中只能在cygwin页面上找到它,考虑到你的初始标签,你可能已经阅读过了. DLL可以导出其部分或全部功能和数据.导出意味着它们可供其他程序和dll使用.可以通过各种方式控制导出的名称.其中一个是在函数声明中插入_declspec(dllexport).另一种方法是使用带有导出部分的定义文件.

创建dll时,可以创建导入库.这是一个文件,可以在构建使用dll的可执行文件时使用,在链接阶段,让它知道从dll导出的名称,以便程序知道如何解析对这些函数的引用;换句话说:如何导入它们. (这并不总是必要的.许多链接器允许您直接链接到dll本身,从而无需导入库.)

我意识到它可能会令人困惑,但是试着找一个教程和一些小例子来看看它是如何工作的,并稍微玩一下.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读