VC++ 动态链接库(DLL)编程深入浅出

需积分: 34 8 下载量 146 浏览量 更新于2024-07-25 收藏 673KB PDF 举报
VC 动态链接库(DLL)编程深入浅出(全) VC 动态链接库(DLL)编程是一种重要的编程技术,广泛应用于 Windows 操作系统中。下面将深入浅出地介绍动态链接库的概念、分类、编程方法和应用场景。 **动态链接库的概念** 动态链接库(Dynamic Linkable Library)是指一种可以被多个应用程序共享的代码库。它提供了一种可以被多个应用程序调用的函数、变量或类的仓库。动态链接库的发展经历了“无库-静态链接库-动态链接库”的时代。 **静态链接库与动态链接库的区别** 静态链接库与动态链接库都是共享代码的方式,但它们有着根本的区别。静态链接库中的指令将被直接包含在最终生成的 EXE 文件中,而动态链接库则不需要被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。 **动态链接库的特点** 动态链接库有两个重要的特点: 1. DLL 的编制与具体的编程语言及编译器无关,只要遵循约定的 DLL 接口规范和调用方式,用各种语言编写的 DLL 都可以相互调用。 2. 动态链接库随处可见,我们可以在 Windows 目录下的 system32 文件夹中看到 kernel32.dll、user32.dll 和 gdi32.dll,Windows 的大多数 API 都包含在这些 DLL 中。 **VC 动态链接库的分类** VisualC++ 支持三种 DLL,它们分别是: 1. Non-MFCDLL(非 MFC 动态库):不采用 MFC 类库结构,其导出函数为标准的 C 接口,能被非 MFC 或 MFC 编写的应用程序所调用。 2. MFC RegularDLL(MFC 规则 DLL):包含一个继承自 CWinApp 的类,但其无消息循环。 3. MFCExtensionDLL(MFC 扩展 DLL):采用 MFC 的动态链接版本创建。 **动态链接库的应用场景** 动态链接库广泛应用于 Windows 操作系统中,例如: * Windows 的大多数 API 都包含在 DLL 中,例如 kernel32.dll、user32.dll 和 gdi32.dll。 * 许多应用程序都使用 DLL 来提供共享代码,例如 Microsoft Office 的 DLL。 * 动态链接库可以用来创建插件式的应用程序,例如 Adobe Photoshop 的插件。 动态链接库是一种重要的编程技术,广泛应用于 Windows 操作系统中。了解动态链接库的概念、分类、编程方法和应用场景,对于程序员来说是非常重要的。