下载此文档

第10章 动态链接库(DLL)应用.ppt


文档分类:IT计算机 | 页数:约27页 举报非法文档有奖
1/ 27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 27 下载此文档
文档列表 文档介绍
第10章动态链接库(DLL) 应用编程
本章要点:
动态链接库(DLL)的概念
动态链接库的编写
动态链接库的隐式调用和显示调用
利用动态链接库实现窗体重用的方法
循序渐进学理论
动态链接库(DLL)概述

DLL是一个可以执行的并可以被多个Windows应用程序共享的程序模块(称为Module),模块中包含了一些可以被多个Windows应用程序或DLL共享的代码、数据和资源。
动态连接库文件的扩展名一般是dll,也有可能是drv,sys和fon(它们分别对应的是设备驱动文件、系统文件和字体资源文件)。

(1)静态链接
传统的库函数是通过静态链接链到应用程序中的。这些库函数可能来自编程语言提供的标准库,也可能是由操作系统提供的API。
(2)动态链接
动态链接是指在把应用程序的目标代码链接成EXE文件时并没有将函数库中的函数复制到应用程序的可执行文件中,而是在程序运行时动态地加载所需的函数。

使用动态链接库还有以下优点:
(1)应用范围广。
(2)便于开发大型软件。
(3)便于对系统进行升级。
(4)隐藏细节。
(5)独立于编程语言。
动态链接库(DLL)编写
根据动态链接库完成的功能,可把DLL分成三类:完成一般功能的DLL、用于数据交换的DLL和用于窗体重用的DLL。
【例10-1】创建一个动态链接库,该动态链接库中包含两个函数,分别用于求三个数的最大值和最小值。为编写该动态链接库,需经过以下步骤:
(1)建立DLL程序框架
在Delphi ,执行【File】→【New】→【Other】命令,将会出现【New Items】对话框窗口,在该窗口中找到【DLL Wizard】图标,如图10-3所示。
图10-3 “New Items”对话框

为该动态链接库项目增加如下两个函数:
Function Max(x,y,z:Integer):Integer;stdcall;//求三个数的最
大值函数
·········
Function Min(x,y,z:Integer):Integer;stdcall;//求三个数的最小值函数
·········
(3)用exports语句声明供其它应用程序 调用的函数和过程名
函数或过程定义好后,为了能够被其它应用程序调用,还必须用Exports子句把函数名列出。本例使用的Exports语句如下:
exports
Max,Min;
Exports语句的格式与功能如下:
exports
entry1,entry2,……,entryn;
(4)生成DLL文件
执行【Project】→【Build Exam_10_1】命令(“Exam_10_1”为动态链接库项目文件名),将自动生成名为“”的动态链接库文件。
加载动态链接库(DLL)的方法

这种方法是将DLL文件映像映射到调用进程地址空间的最简单的办法。
静态载入DLL的前提是在编译之前已经明确知道要调用DLL中的哪几个函数,编译时在目标文件中只保留必要的链接信息,而不包含DLL函数的代码。在程序执行时,利用链接信息加载DLL函数代码并在内存中将其链接进入调用程序的执行空间,从而实现了代码的重用。

第10章 动态链接库(DLL)应用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 27
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 中国课件站
  • 文件大小 0 KB
  • 时间2011-10-11
最近更新