动态链接库文件是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源,它们向运行于Windows操作系统下的程序提供代码、数据或函数,程序可根据 DLL 文件中的指令打开、启用、查询、禁用和关闭驱动程序。
动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软 Windows 操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是 ”.dll”、”.ocx”(包含 ActiveX 控制的库)或者 “.drv”(旧式的系统驱动程序)。
动态链接库文件是什么
动态链接库文件,是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows 提供的 DLL 文件中包含了允许基于 Windows 的程序在 Windows 环境下操作的许多函数和资源。一般被存放在 C:视窗系统 System 目录下。Windows 中,DLL 多数情况下是带有 DLL 扩展名的文件,但也可能是 EXE 或其他扩展名;Linux 系统中常常是.so 的文件。它们向运行于 Windows 操作系统下的程序提供代码、数据或函数。程序可根据 DLL 文件中的指令打开、启用、查询、禁用和关闭驱动程序。
DLL 的全称是 Dynamic Link Library, 中文叫做“动态链接文件”。在 Windows 操作系统中, DLL 对于程序执行是非常重要的, 因为程序在执行的时候, 必须链接到 DLL 文件, 才能够正确地运行。而有些 DLL 文件可以被许多程序共用。因此, 程序设计人员可以利用 DLL 文件, 使程序不至于太过巨大。但是当安装的程序越来越多, DLL 文件也就会越来越多, 如果当你删除程序的时候, 没有用的 DLL 文件没有被删除的话, 久而久之就造成系统的负担了。DLL 文件和 EXE 文件同样可以由编译语言生成,但是 DLL 没有程序启动入口,所以 DLL 文件不可执行。
使用动态连接库的好处
1.多个应用程序共享代码和数据:比如 Office 软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.在钩子程序过滤系统消息时必须使用动态连接库。
3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。
4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用 AppWizard 生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。
5.拓展研发工具的功能,由于 DLL 是和语言无关的,因此能创建一个 DLL,被 C++、VB 或所有支持动态链接库的语言调用。这样如果一种语言存在不足,就能通过访问另一种语言创建的 DLL 来弥补。
VC++、C++ Builder、Delphi 都可以编写 DLL 文件。Visual Basic 5.0 以上版本也可以编写一种特殊的 DLL,即 ActiveX DLL。