朝鲜世界杯_2019篮球世界杯 - dyldrk.com

windows - 什么是 DLL 文件,它们是如何工作的?

什么是 DLL?

DLL 文件是二进制文件,可以包含可执行代码和图像等资源。与应用程序不同,这些文件不能直接执行,但应用程序会在需要时加载它们(或在启动期间一次性加载)。

它们重要吗?

大多数应用程序将在启动时加载它们所需的 DLL 文件。如果没有找到其中任何一个,系统将根本无法启动该过程。

DLL 文件可能需要其他 DLL 文件

与应用程序需要 DLL 文件一样,DLL 文件可能依赖于其他 DLL 文件本身。如果在依赖链中找不到这些 DLL 文件之一,则不会加载应用程序。这可以使用任何依赖遍历器工具轻松调试,例如Dependency Walker。

系统文件夹里有这么多

大多数系统功能以 DLL 文件的形式向用户程序公开,因为它们是共享代码/资源的标准形式。每个功能都单独保存在不同的 DLL 文件中,以便只加载所需的 DLL 文件,从而减少系统的内存限制。

已安装的应用程序也使用 DLL 文件

如上所述,DLL 文件也成为物理分离功能的一种形式。好的应用程序也会尝试在绝对需要之前不加载 DLL 文件,从而减少内存需求。这也会导致应用程序附带大量 DLL 文件。

DLL 地狱

然而,当共享 DLL 文件和需要它们的程序之间存在版本不匹配时,系统升级经常会破坏其他程序。系统检查点和DLL缓存等一直是M$解决这个问题的举措。.NET 平台可能根本不会遇到这个问题。

我们如何知道 DLL 文件中的内容?

您必须使用像DUMPBIN或 Dependency Walker 这样的外部工具,它不仅可以显示 DLL 文件中包含哪些公开可见的函数(称为导出),还可以显示它需要哪些其他 DLL 文件以及从这些 DLL 文件中导出哪些该 DLL 文件是依赖的。

我们如何创建/使用它们?

请参阅供应商提供的编程文档。对于 C++,请参阅 MSDN 中的LoadLibrary。