DLL - 简介

动态链接是一种在运行时将应用程序链接到库的机制。库保留在自己的文件中,不会复制到应用程序的可执行文件中。DLL 在应用程序运行时链接到应用程序,而不是在创建应用程序时。DLL 可能包含指向其他 DLL 的链接。

很多时候,DLL 被放置在具有不同扩展名的文件中,例如 .exe.drv.dll

DLL 的优势

下面给出了拥有 DLL 文件的一些优势。

使用更少的资源

DLL 文件不会与主程序一起加载到 RAM 中;除非需要,否则它们不会占用空间。当需要 DLL 文件时,它会被加载并运行。例如,只要 Microsoft Word 用户正在编辑文档,打印机 DLL 文件就不需要在 RAM 中。如果用户决定打印文档,则 Word 应用程序会导致打印机 DLL 文件被加载并运行。

促进模块化架构

DLL 有助于促进模块化程序的开发。它可以帮助您开发需要多种语言版本的大型程序或需要模块化架构的程序。模块化程序的一个例子是会计程序,它有许多可以在运行时动态加载的模块。

帮助轻松部署和安装

当 DLL 中的函数需要更新或修复时,DLL 的部署和安装不需要将程序与 DLL 重新链接。此外,如果多个程序使用相同的 DLL,那么所有程序都会从​​更新或修复中受益。当您使用定期更新或修复的第三方 DLL 时,此问题可能会更频繁地发生。

如果在模块定义文件的 IMPORTS 部分中将 DLL 链接指定为编译的一部分,则应用程序和 DLL 可以自动链接到其他 DLL。否则,您可以使用 Windows LoadLibrary 函数明确加载它们。

重要的 DLL 文件

下面提到了一些重要的 dll 文件,用户在编程时应该知道这些文件 −

  • COMDLG32.DLL − 控制对话框。

  • GDI32.DLL − 包含用于绘制图形、显示文本和管理字体的众多函数。

  • KERNEL32.DLL −包含数百个用于管理内存和各种进程的函数。

  • USER32.DLL − 包含大量用户界面函数。涉及程序窗口的创建及其相互交互。