动态链接库文件DLL
日期:2008年5月18日 作者: 查看:[大字体 中字体 小字体]-
一、动态链接库的概念
动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。
动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码。
一般情况下,如果一个应用程序使用了动态链接库,Win32系统保证内存中只有DLL的一份复制品,这是通过内存映射文件实现的。DLL首先坏魅隬in32系统的全局堆栈,然后映射到调用这个DLL的进程地址空间。在Win32系统中,每个进程拥有自己的32位线性地址空间,如果一个DLL被多个进程调用,每个进程都会收到该DLL的一份映像。与16位Windows不同,在Win32中DLL可以看作是每个进程自己的代码。
二、动态链接库的优点
1. 共享代码、资源和数据
使用DLL的主要目的就是为了共享代码,DLL的代码可以被所有的Windows应用程序共享。
2. 隐藏实现的细节
DLL中的例程可以被应用程序访问,而应用程序并不知道这些例程的细节。
3. 拓展开发工具如Delphi的功能
由于DLL是与语言无关的,因此可以创建一个DLL,被C++、VB或任何支持动态链接库的语言调用。这样如果一种语言存在不足,就可以通过访问另一种语言创建的DLL来弥补。
三、动态链接库的实现方法
1. Load-time Dynamic Linking
这种用法的前提是在编译之前已经明确知道要调用DLL中的哪几个函数,编译时在目标文件中只保留必要的链接信息,而不含DLL函数的代码;当程序执行时,利用链接信息加载DLL函数代码并在内存中将其链接入调用程序的执行空间中,其主要目的是便于代码共享。
2. Run-time Dynamic Linking
这种方式是指在编译之前并不知道将会调用哪些DLL函数,完全是在运行过程中根据需要决定应调用哪个函数,并用LoadLibrary和GetProcAddress动态获得DLL函数的入口地址。
教你认识动态链接库DLL文件
DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:WindowsSystem目录下。
1、如何了解某应用程序使用哪些DLL文件
右键单击该应用程序并选择快捷菜单中的“快速查看”命令,在随后出现的“快速查看”窗口的“引入表”一栏中你将看到其使用DLL文件的情况。
2、如何知道DLL文件被几个程序使用
运行Regedit,进入HKEY_LOCAL_MACHINESoftwareMicrosrftWindowsCurrent- - [1] [2] 下一页
-
- 动态链接库文件DLL 相关文章:
- ·非主流QQFlash模块和动态横幅
- ·非主流QQ空间个性横幅_6款GIF动态闪图
- ·梦幻西游动态QQ空间皮肤代码
- ·eusexe.exe无法找到入口.无法定位程序输入点k32thk1632prolog于动态连接库KERNEL32.dll上
- ·随手制作动态图片
- ·交换机MAC地址表的形成过程动态演示
- ·C++中动态分配二维数组的方法
- ·无法定位程序输入点DdEntry1于动态链接库GDI32.dll
- ·Photoshop动态GIF的制作
- ·Photoshop制作QQ动态表情
- 动态链接库文件DLL 相关软件
- ·QQ搞笑表情gif动态图片集 V1.0 最新版
- ·小狗动态壁纸(二)
- ·韩国浪漫可爱手机动态屏保壁纸集一
- ·Aqua Real(动态水族箱屏幕保护) V2 1.02
- ·动态HTML教程
- ·动态壁纸秀 V1.0
- ·5日学会动态html
- ·半条命 高动态范围渲染效果演示介绍
- ·ZIP.DLL解压缩(动态库) V1.0.2.2
- ·动态主机(DynamicHost) V2.6.050831
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:手工清除传奇密码克星
下一篇:DOS教学
精品推荐
热点TOP10
- ·电脑高手必备 Windows系统35招实用技巧
- ·如何清除网页的记录?
- ·DM万用版使用方法
- ·开始菜单不能用右键
- ·将系统装到U盘中 如何自制XP@USB启动盘
- ·乱码形成原因及其消除方法大全
- ·DOS教学
- ·Windows系统错误代码大全
- ·查看内存是否处于双通道模式
- ·轻轻松松实现MP3转CD
- ·网络管理中的常用命令详解
- ·修改注册表让电脑开机后瞬间自动关机
- ·电脑蓝屏死机代码大集合
- ·操作系统装到闪盘 WindowsXP@USB完美演义
- ·电脑操作技巧终结200例
- ·让系统快步如飞 正确设置Windows缓存
- ·注册表在线修复站
- ·去除pdf文件“打印”“拷贝”限制
- ·系统维护四步曲
- ·帮你找回忘记的密码!
特别推荐
- ·干净整洁 禁止开机软件自启启三招
- ·Windows日志文件完全全解读
- ·修改注册表让电脑开机后瞬间自动关机
- ·如何清除网页的记录?
- ·网吧组建秘籍
- ·保护视力 把网页底色变成浅绿色
- ·Windows系统超级技巧 批量更改文件名
- ·如何用摄像头拍出漂亮的照片
- ·教你正确的调整DC的白平衡
- ·简单实现强大的加密功能——CryptoAPI
- ·每周电脑应用技巧荟萃(9月第4周)
- ·网络管理中的常用命令详解
- ·装机必备软件
- ·解析Windows系统远程控制的实现
- ·让系统快步如飞 正确设置Windows缓存
- ·Windows操作系统万能Ghost全攻略
- ·电脑蓝屏死机代码大集合
- ·轻轻松松实现MP3转CD
- ·火眼金睛识破QQ欺骗网络地址
- ·开机取消检查磁盘的方法
