1 / 6
文档名称:

Lesson19动态链接库.ppt

格式:ppt   页数:6
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Lesson19动态链接库.ppt

上传人:管理资源吧 2011/9/2 文件大小:0 KB

下载得到文件列表

Lesson19动态链接库.ppt

文档介绍

文档介绍:动态链接库
主讲人:孙鑫
动态链接库
自从微软推出第一个版本的Windows操作系统以来,动态链接库(DLL)一直是Windows操作系统的基础。
动态链接库通常都不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数。只有在其它模块调用动态链接库中的函数时,它才发挥作用。
Windows API中的所有函数都包含在DLL中。其中有3个最重要的DLL,,它包含用于管理内存、进程和线程的各个函数;,它包含用于执行用户界面任务(如窗口的创建和消息的传送)的各个函数;,它包含用于画图和显示文本的各个函数。
静态库和动态库
静态库:函数和数据被编译进一个二进制文件()。在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。
在使用动态库的时候,往往提供两个文件:一个引入库和一个DLL。引入库包含被DLL导出的函数和变量的符号名,DLL包含实际的函数和数据。在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,在运行的时候,再去加载DLL,访问DLL中导出的函数。
使用动态链接库的好处
可以采用多种编程语言来编写。
增强产品的功能。
提供二次开发的平台。
简化项目管理。
可以节省磁盘空间和内存。
有助于资源的共享。
有助于实现应用程序的本地化。
动态链接库被多个进程访问
代码页面2
代码页面1
数据页面2
代码页面3
数据页面1
DLL的虚拟内存
代码页面2
代码页面1
数据页面2
代码页面3
数据页面1
代码页面2
代码页面1
代码页面2
代码页面3
数据页面1
数据页面2
代码页面2
代码页面2
代码页面3
数据页面1
数据页面2
代码页面1
第一个进程的地址空间
第二个进程的地址空间
动态链接库加载的两种方式
隐式链接
显示加载