教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> Delphi 中动态链接库(DLL)的建立和使用

Delphi 中动态链接库(DLL)的建立和使用

上传者:网友
|
翻新时间:2023-07-11

Delphi 中动态链接库(DLL)的建立和使用

关键词:

动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可以实现一些一般程序所不能实现的功能,如实现windows的HOOK、ISAPI等。同时,DLL还为不同语言间代码共享提供了一条方便的途径。因而DLL在编程时应用较为广泛,本文将介绍如何在 Delphi 中建立和使用DLL。

一.DLL 库内存共享机制

从使用效果看,DLL和unit 很像,它们都可以被别的工程模块所调用,但二者在内部的实现机制上确存在着差别。如果一个程序模块中用uses语句引用了某个unit,编译程序在编译该模块时,便会连同unit一起编译,并把编译后的可执行代码链接到本程序模块中,这就是一个程序模块能够调用所引用unit中过程和函数的原因。当同一个unit被多个工程所引用时,则每个工程中都含有该unit的可执行代码,当含有该unit的多个工程同时执行时,unit的可执行代码会随不同工程而多次被调入内存,造成内存资源的浪费。DLL则不同,它即使被某个工程调用,编译后仍是独立的,也就是说编译后,一个DLL库形成一个单独的可执行文件,而不与任何其它的可执行文件连接在一起,因而DLL库并不从属于某个特定的工程,当多个工程调用同一个DLL库时只有第一个工程把DLL库调入内存,其余工程并不重复调入同一个DLL库到内存,而是到同一个共享内存区读取。并且,DLL的执行代码是在程序运行期间动态调入的,而不是如unit在程序运行时就与整个工程一起调入内存。这样便可消除unit带来的相同代码多处占用内存的弊病。

二 Delphi中DLL库的建立

在Delphi环境中,编写一个DLL同编写一个一般的应用程序并没有太大的区别。事实上作为DLL主体的DLL函数的编写,除了在内存、资源的管理上有所不同外,并不需要其它特别的手段。 一般工程文件的格式为:

program 工程标题;

uses 子句;

程序体

而DLLs工程文件的格式为:

library 工程标题;

uses 子句;

exprots 子句;

程序体

它们主要的区别有两点:

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

神奇的手指
买菜
做鸟窝
放烟花
新的一天
最伤心的一件事
买沙发
快乐新本领
最难忘的一件事
温馨的家
海边游玩
吵架
磨豆浆
我的故乡
有趣的鱼泡泡
团支书学期工作总结
高中班主任工作计划
2012年高一第一学期班主任工作计划
2012年高中二年级班主任工作计划
2012年高三班主任工作计划
大学2010学年下学期班主任工作计划
2012年高三毕业班班主任工作计划
小学班主任德育工作计划
小学少先队工作总结范文
2012年班主任学期工作计划
师范专业大学生实习班主任工作计划
2012年一年级下学期语文班主任工作计划
2010学年度第二学期班主任工作计划
新学期小学班主任工作计划
新学期班主任班级工作计划
建筑项目节能实行能力评价的必要性
浅析上市公司不同的盈余管理模式和手段(1)
水利工程管理过程中出现的问题以及应对措
论行政诉讼简易程序的建构(1)论文
浅析中国的行政赔偿法律制度(1)论文
加强中小型水利工程施工质量控制的思考
水利工程建设现代化的管理
论环境侵害诉讼的特点(1)论文
中小企业的品牌定位策略研究(1)
论行政诉讼判决的拘束力(1)论文
水利标底审查重要性
水利工程灌浆技术的控制要点分析
论市场经济体制下我国环境资源保护法的完善(1)论文
论行政规范行为的司法适用力(1)论文
水力枢纽工程模型试验分析
傣族的节日
船的沉思
泼水节的由来
其他民族和国家的泼水节
傣族
泼水节多彩的节日活动
周总理与泼水节
欢乐泼水节
漫话竹楼
崩龙族人也过泼水节
僧·寺·塔
森林之夜
奇特的婚礼
躲不开泼水节──美丽而忘情的
傣家井