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