最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
动态链接库概念(转)
时间:2008-01-12 编辑:简简单单 来源:一聚教程网
动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码。
一般情况下,如果一个应用程序使用了动态链接库,Win32系统保证内存中只有DLL的一份复制品,这是通过内存映射文件实现的。DLL首先被调入Win32系统的全局堆栈,然后映射到调用这个DLL的进程地址空间。在Win32系统中,每个进程拥有自己的32位线性地址空间,如果一个DLL被多个进程调用,每个进程都会收到该DLL的一份映像。与16位Windows不同,在Win32中DLL可以看作是每个进程自己的代码
-
上一个: IIS的一点防范建议
-
下一个: 怎样做自己的二级域名(之一) (转)
相关文章
- PS制作旋转八卦图教程 07-27
- java中如何使用BufferedImage判断图像通道顺序并转RGB/BGR 07-25
- PPT如何制作一段月球围绕地球转的动画 07-06
- 微软裁员为了什么 补充新鲜血液向云计算服务公司转型 07-05
- 天龙八部手游门派转职详解 转职天龙注意事项 07-03
- 龙之谷手游刺客转职加点如何选 06-27