第10章动态链接库(DLL) 应用编程 本章要点: 区动态链接库(DIL)的概念 区动态链接库的编写 多区动态链接库的隐式调用和显示调用 区利用动态链接库实现窗体重用的方法
第10章 动态链接库(DLL) 应用编程 本章要点: 动态链接库(DLL)的概念 动态链接库的编写 动态链接库的隐式调用和显示调用 利用动态链接库实现窗体重用的方法
10.1循序渐进学理论 10.1.1动态链接库(DLL)概述 1.DLL的概念 DLL是一个可以执行的并可以被多个 Windows应用 程序共享的程序模块(称为 Module),模块中包含了 些可以被多个 Windows应用程序或DLL共享的代码、 数据和资源。 动态连接库文件的扩展名一般是d11,也有可能是 drv,sys和fon(它们分别对应的是设备驱动文件、 系统文件和字体资源文件)
10.1 循序渐进学理论 10.1.1 动态链接库(DLL)概述 1.DLL的概念 DLL是一个可以执行的并可以被多个Windows应用 程序共享的程序模块(称为Module),模块中包含了 一些可以被多个Windows应用程序或DLL共享的代码、 数据和资源。 动态连接库文件的扩展名一般是dll,也有可能是 drv,sys和fon(它们分别对应的是设备驱动文件、 系统文件和字体资源文件)
2.静态链接和动态链接 (1)静态链接 传统的库函数是通过静态链接链到应用程序中的 这些库函数可能来自编程语言提供的标准库,也可能 是由操作系统提供的API。 源代码 函数1函数2 …函数 函数n 图数库 编译 形成的Exe文件入 编译后的OBJ文件 连接 编译后的OBJ文件函数2函数 图10-1静态链接示意图
2.静态链接和动态链接 (1)静态链接 传统的库函数是通过静态链接链到应用程序中的。 这些库函数可能来自编程语言提供的标准库,也可能 是由操作系统提供的API
(2)动态链接 动态链接是指在把应用程序的目标代码链接成 EXE文件时并没有将函数库中的函数复制到应用程序 的可执行文件中,而是在程序运行时动态地加载所需 的函数。 源代码引入库函数1函数2…函数1…函数n LL 编译 内存 形成的EXE文件 编译后的OBJ文件 连接 编译后的OB文件重定位信息…重定位信息] 图10-2动态链接示意图
(2)动态链接 动态链接是指在把应用程序的目标代码链接成 EXE文件时并没有将函数库中的函数复制到应用程序 的可执行文件中,而是在程序运行时动态地加载所需 的函数
3.使用DLL的优点 使用动态链接库还有以下优点: (1)应用范围广。 (2)便于开发大型软件 (3)便于对系统进行升级 (4)隐藏细节。 (5)独立于编程语言
3.使用DLL的优点 使用动态链接库还有以下优点: (1)应用范围广。 (2)便于开发大型软件。 (3)便于对系统进行升级。 (4)隐藏细节。 (5)独立于编程语言