DLL 文件到底是什么?它们如何工作?

2023-11-26

DLL 文件到底是如何工作的?它们似乎有很多,但我不知道它们是什么或它们如何工作。

那么,他们有什么关系呢?


什么是DLL?

动态链接库 (DLL) 类似于 EXE,但它们不能直接执行。它们类似于 Linux/Unix 中的 .so 文件。也就是说DLL是MS对共享库的实现。

DLL 与 EXE 非常相似,文件格式本身是相同的。 EXE 和 DLL 都基于可移植可执行 (PE) 文件格式。 DLL 还可以包含 COM 组件和 .NET 库。

DLL 包含什么?

DLL 包含 EXE 或其他 DLL 使用的函数、类、变量、UI 和资源(例如图标、图像、文件……)。

图书馆类型:

几乎所有操作系统上都有两种类型的库。静态库和动态库。在 Windows 中,文件扩展名如下:静态库 (.lib) 和动态库 (.dll)。主要区别在于静态库在编译时链接到可执行文件;而动态链接库直到运行时才链接。

有关静态和动态库的更多信息:

不过,您通常不会在计算机上看到静态库,因为静态库直接嵌入在模块(EXE 或 DLL)内。动态库是一个独立的文件。

DLL 可以随时更改,并且仅当 EXE 显式加载 DLL 时才在运行时加载。静态库一旦在 EXE 中编译后就无法更改。 DLL 可以单独更新,而无需更新 EXE 本身。

加载DLL:

程序在启动时通过 Win32 API LoadLibrary 加载 DLL,或者当它是另一个 DLL 的依赖项时加载 DLL。程序使用 GetProcAddress 来加载函数或使用 LoadResource 来加载资源。

进一步阅读:

请检查MSDN or 维基百科供进一步阅读。也是这个答案的来源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DLL 文件到底是什么?它们如何工作? 的相关文章

随机推荐