什么是动态链接库?DLL三个字母对于你来说一定很熟悉吧,它是Dy namic Link Library 的缩写形式,动态链接库 (DLL) 是作为共享函数库的可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。 本文比较了Visual C++所支持的三种动态链接库,列出了各自不同的特点和应用场合,详细地描述了三种动态链接库的建立和调用的方法。 关键字:动态链接库;导出函数;调用 引言 较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序的EXE文件中,会产生一些问题:一个缺点是增 加 了应用程序的大小 ,它会占 用更 多的磁 盘 空 间 ,程序运 行时也 会消 耗 较大的内存空 间 ,造成系统资源的浪 费 ;另 一个缺点是,在编写大的EXE程序时,在每次 修 改 重 建时都必 须 调整编译所有源代码,增 加 了编译过 程的复 杂 性 ,也 不利 于阶 段 性 的单元 测 试 ;而 且 ,一些模块的功能可能较为通 用,在构造其它软件系统时仍 会被使用。 Windows系统平 台 上 提供了一种完全 不同的较有效 的编程和运 行环 境 ,你可以将独立的程序模块创 建为较小 的动态链接库(Dynamic Linkable Library,DLL)文件,并可对它们单独编译和测 试 。在运 行时,只 有当 EXE程序确 实 要 调用这些DLL模块的情 况 下 ,系统才 会将它们装 载 到内存空 间 中。这种方式不仅 减 少 了EXE文件的大小 和对内存空 间 的需 求 ,而 且 使这些DLL模块可以同时被多个应用程序使用。 动态链接库概述 动态链接库技术是Windows最重要的实现技术之一,Windows的许多新功能、新特性都是通过DLL来实现的。其实,Windows本身就是由许多DLL组成的,它最基本的三大组成模块Kernel、GDI和User都是DLL。 一般来说,DLL是一种磁盘文件,以.dll、.DRV、.FON、.SYS和许多以.EXE为扩展名的系统文件都可以是DLL。它由全局数据、服务函数和资源组成,在运行时被系统加载到进程的虚拟空间中,成为调用进程的一部分。如果与其它DLL之间没有冲突,该文件通常...