构建dll作为导出库的意义
将dll构建为导出库的含义是什么?我只是谷歌搜索它.我发现它是一个动态链接库.任何人都可以解释一下究竟是什么dll?为什么我们需要在.dll文件中添加这些语句
extern "c" _declspec(dllexport) 我研究了静态和共享库,但我不知道为什么我们去dll文件.我学会了.dll用于运行时.但是你可以帮助我并给我更多信息.提前谢谢你 解决方法
我的评论可能有点苛刻.我不是dll的权威,但我对它们有一些了解,所以我会尝试简短的解释.
静态库和共享库之间的区别应该很容易在Web搜索中找到,但基本上静态库中的代码都包含在最终的可执行文件中,因此在链接阶段之后,不再需要实际的库文件来运行程序;另一方面,共享库中的代码不会包含在主程序中 – 这两个部分保持独立,因此每次运行程序时都需要共享库(在Windows上称为dll). “将dll构建为导出库”是一个令人困惑的术语.我之前没有听说过,在短暂的搜索中只能在cygwin页面上找到它,考虑到你的初始标签,你可能已经阅读过了. DLL可以导出其部分或全部功能和数据.导出意味着它们可供其他程序和dll使用.可以通过各种方式控制导出的名称.其中一个是在函数声明中插入_declspec(dllexport).另一种方法是使用带有导出部分的定义文件. 创建dll时,可以创建导入库.这是一个文件,可以在构建使用dll的可执行文件时使用,在链接阶段,让它知道从dll导出的名称,以便程序知道如何解析对这些函数的引用;换句话说:如何导入它们. (这并不总是必要的.许多链接器允许您直接链接到dll本身,从而无需导入库.) 我意识到它可能会令人困惑,但是试着找一个教程和一些小例子来看看它是如何工作的,并稍微玩一下. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – GPO中计算机配置和用户配置的区别
- windows – 平移大型桌面的远程桌面客户端?
- windows-7 – 为什么mkdir偶尔会拒绝访问?
- windows – 加载Powershell历史记录
- Windows MIrror驱动程序远程显示驱动程序VNC服务器窗口8
- windows – 有没有办法告诉机器在安全组中的持续时间?
- windows-7 – 使用VHD作为数据存储位置?
- DL360 – SD卡上的Windows Server 2012 Core hyper-v?
- 如何在Windows版本的PHP 5.4上使用php_http扩展?
- windows – 强制批处理文件对提示回答“是”