动态链接技术
来源:互联网 发布:审批流软件 编辑:程序博客网 时间:2024/06/06 01:12
动态链接是相对于静态链接而言的,当多个应用程序一起运行,并且均调用了某函数的代码时,此时动态链接库允许这些应用程序共享该函数的代码,以达到节省内存的效果。
动态链接发生在程序运行时,其是在应用程序调用Windows API函数运行时才链接上的。但在链接时,链接器要先为调用者准备一些适当的信息,才能够在运行时顺利转到DLL执行。在动态链接中,所要调用的函数代码并没有被复制到可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息。
当应用程序开始运行时,在windows的管理下,应用程序和响应的动态链接之间建立关系。当药执行所调用的动态链接时,根据链接的描述信息,Windows转去执行动态链接中相应的函数代码。
一般情况下,如果一个应用程序使用了动态链接库,Win32系统通过内存映射文件保证内存中只有一份DLL的复制品。DLL首先被调入Win32系统的全局堆栈,然后映射到调用这个DLL的进程地址空间。在Win32系统中,每个进程拥有自己的32位线性地址空间。如果一个DLL被多个进程调用,每个进程都会收到该DLL的一份映像(而非复制品)。
使用动态链接技术可以减小可执行文件的大小,便于实现资源之间的共享,还有利于程序的维护与升级。
并不是只有.dll扩展名的文件才是动态链接库。像.exe、.fon、.drv、.mod都是动态链接库。
- 动态链接库技术
- 动态链接技术
- Linux的动态链接库技术
- 动态链接库技术及其研究
- LoadRunner使用动态链接库技术
- LoadRunner使用动态链接库技术
- 动态链接库DLL技术(转载)
- Visual C++中动态链接库技术浅谈
- Visual C++中动态链接库技术浅谈
- COM 技术内幕学习之五 (动态链接)
- 本周技术关注:LINUX动态链接库高级应用 #
- Linux下动态链接库技术分析和移植技巧
- Linux下动态链接库技术分析和移植技巧
- Visual C++中动态链接库技术浅谈
- Visual C++中动态链接库技术浅谈
- Java 调用原生动态链接库的技术汇总
- linux c/c++插件技术:动态链接库
- Windows与Linux动态链接库技术的对比
- Qwt源码解读之QwtClipper 类
- HDOJ 1114 Piggy-Bank (多重背包)
- 数据库实验
- 详解CoreAnimation中如何自定义动画属性
- 矩阵快速幂 poj3070 3233 3735 3150
- 动态链接技术
- Linux下Sed命令用法详解
- 哈希表心得---haoel
- 百度之星区域赛第一题——平衡负载题解
- 字符串移动:字符串为*号和26个字母的任意组合把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变
- C# 中的委托和事件
- SQL Server dateFormat
- Mac OS X 命令行
- python核心编程第六章题目:python代码实现:设计一个"石头,剪子,布"游戏