DLL的概念

DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。

在 Windows操作系统中,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用。
通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个记账程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。

此外,可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。例如,您可能具有一个工资计算程序,而税率每年都会更改。当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程序就可以应用更新。
DLL文件中存放的是各类程序的函数(子过程)实现过程,当程序需要调用函数时需要先载入DLL,然后取得函数的地址,最后进行调用。使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。另外,使用DLL文件还可以减小程序的体积。

组成一个软件的文件中.dll占据相当多一部分。

通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。 例如,一个计帐程序可以按模块来销售。 可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。 因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。

此外,可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。 例如,您可能具有一个工资计算程序,而税率每年都会更改。 当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程序就可以应用更新。

DLL 依赖项

当某个程序或 DLL 使用其他 DLL 中的 DLL 函数时,就会创建依赖项。 因此,该程序就不再是独立的,并且如果该依赖项被损坏,该程序就可能遇到问题。 例如,如果发生下列操作之一,则该程序可能无法运行:

(1)依赖 DLL 升级到新版本。
(2)修复了依赖 DLL。
(3)依赖 DLL 被其早期版本覆盖。
(4)从计算机中删除了依赖 DLL。
这些操作通常称为 DLL 冲突。 如果没有强制实现向后兼容性,则该程序可能无法成功运行。

下表说明了为了帮助最大限度地减少依赖性问题而在 Microsoft Windows 2000 和较高版本的 Windows 操作系统中引入的更改:

Windows 文件保护
在 Windows 文件保护中,操作系统禁止未经授权的代理更新或删除系统 DLL。 因此,当程序安装操作尝试删除或更新被定义为系统 DLL 的 DLL 时,Windows 文件保护将寻找有效的数字签名。

专用 DLL
通过专用 DLL 可以使程序避免遭受对共享 DLL 进行的更改。 专用 DLL 使用版本特定信息或空 .local 文件来强制要求程序所使用的 DLL 的版本。 要使用专用 DLL,请在程序根文件夹中找到 DLL。 然后,对于新程序,请向该 DLL 中添加版本特定信息。 对于旧程序,请使用空 .local 文件。 每个方法都告诉操作系统使用位于程序根文件夹中的专用 DLL。

DLL丢失

DLL丢失解决方法:解决方法

dll是什么呢?dll丢失如何解决?相关推荐

  1. 计算机缺失wininet.dll,xp系统开机提示wininet.dll文件丢失怎么解决

    大家在使用电脑的过程当中,最讨厌的就是电脑病毒了,它不但会给用户们造成损失,还会损坏电脑的系统,最近有位xp系统反应,电脑开机提示wininet.dll文件丢失,那么xp系统开机提示wininet.d ...

  2. dll文件是什么语言编写的_Win7系统当中libeay32.dll文件丢失的解决方法是什么?...

    Win7系统libeay32.dll文件丢失应该如何解决?有不少用户在打开电脑运行游戏的时候却会出现"libeay32.dll文件丢失"的提示,用了很多方法却还是无法解决,那么该问 ...

  3. 无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题

    无法启动此程序,因为计算机中丢失 MSVCP120.dll.尝试安装该程序以解决此问题 参考文章: (1)无法启动此程序,因为计算机中丢失 MSVCP120.dll.尝试安装该程序以解决此问题 (2) ...

  4. PB程序“无法启动此程序,因为计算机中丢失PBvm90.dll。尝试重新安装该程序以解决此问题”的解决方法

    PB程序"无法启动此程序,因为计算机中丢失PBvm90.dll.尝试重新安装该程序以解决此问题"的解决方法 参考文章: (1)PB程序"无法启动此程序,因为计算机中丢失P ...

  5. 计算机中缺少d3dx9_35.dll,d3dx9_35.dll丢失怎么办-d3dx9_35.dll丢失的解决办法

    在使用计算机过程中,遇到d3dx9_35.dll丢失这种情况,该怎么办呢?那么现在小编就将和大家讲解一下d3dx9_35.dll丢失的解决办法,有需要的朋友可以来看看哦,希望可以帮助到大家. 一.如果 ...

  6. 计算机丢失wpcap.dll会影响什么,Win7系统提示wpcap.dll丢失如何解决?

    最近有Win7系统用户反映,打开程序或者玩游戏的过程中都会出现wpcap.dll丢失的提示,这直接导致了程序无法正常打开以及游戏无法正常运行,用户为此非常苦恼.那么,Win7系统提示wpcap.dll ...

  7. 计算机中丢失xapofx1 5.dll,xapofx1 5 dll丢失怎么办_系统提示xapofx1 5 dll丢失的解决方法...

    最近有很多朋友都在反映xapofx1 5 dll丢失的问题,这是怎么一回事呢?xapofx1 5 dll丢失怎么办呢?别着急,今天小编就针对此问题,为大家带来系统提示xapofx1 5 dll丢失的解 ...

  8. win7欢迎界面时间长_win7系统msvcr100.dll丢失如何解决msvcr100.dll丢失解决方法【详解】...

    我们都清楚电脑使用久了总是会出现各种各样的问题,其中比较常见的问题就是文件丢失的情况,最近有位win7系统用户遇到了msvcr100.dll丢失的情况,用户不知道怎么解决这个问题,为此非常苦恼,那么w ...

  9. 电脑计算机丢失UxTheme,Win7系统电脑开机提示uxtheme.dll丢失的解决方法

    Win7系统现在也用了很多年了,一直都受人们的好评,不过也有人反应了win7正版系统有很多问题,就好比说:Win7开机提示uxtheme.dll丢失,那么正版Win7开机提示uxtheme.dll丢失 ...

  10. 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll。尝试重新安装该程序以解决此问题。

    报错:         无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll.尝试重新安装该程序以解决此问题.如图所示: 解决方案: 方案一.替换api- ...

最新文章

  1. 水磨石地面分隔条设置示意图_水磨石抛光过程中什么时候用百洁垫?什么时候用百亮钢丝棉?...
  2. MySQL 中 MyISAM 中的查询为什么比 InnoDB 快?
  3. .NET自定义多文件(图片)上传的实现方式
  4. 深度 | API 设计最佳实践的思考
  5. java amf3_Java AMF3 反序列化漏洞分析
  6. 贪心——今年暑假不AC(hdu2037)
  7. 使用nginx负载均衡的webservice wsdl访问不到_谁说前端不用懂,Nginx 反向代理与负载均衡(超实用)...
  8. JavaScript数据结构——队列(Queue)
  9. SAP QM 可以控制到没有收到Vendor 的certificate的话就不能做UD.
  10. ios是否安装了某应用
  11. 动态规划实战8 leetcode-53. Maximum Subarray
  12. word、PDF、html、chm 文件的转换
  13. 如何在荣耀笔记本电脑上设置透明桌面便签?
  14. VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard
  15. linux ps1 配色,bashrc - PS1(提示符配色)
  16. intel服务器芯片组,能玩四通道?Intel下代芯片组深入分析
  17. 信息爆炸,用写作让它慢下来-2023.04.07
  18. 不知不觉自己的C盘越来越大了?你可能需要看一看这个
  19. 7 年“键盘手”没在意!某程序员手疼查出骨肿瘤,已让骨头成了“豆腐渣”...
  20. (附源码)springboot公选课在线选课系统 毕业设计 142011

热门文章

  1. 笔记本电脑dns服务器没有响应怎么办,华硕笔记本重装系统后dns服务器未响应怎么办?...
  2. css简易手风琴效果
  3. google pixel 手机使用magisk获取root权限
  4. 七招搞定微信朋友圈营销
  5. 解决调试时候出现的“Encountered an improper argument”错误
  6. 论文学习:基于集成YOLO算法的蝴蝶检测与分类
  7. Python语言程序设计------测试题【4】
  8. 6.27软件园与血站见习报告
  9. 2018.8.18日,直播笔记
  10. 浙师大和浙商大计算机专业谁好,浙江工商大学与杭州师范大学哪个好些?