码迷,mamicode.com
首页 > 其他好文 > 详细

《程序员自我修养》阅读笔记-动态链接

时间:2016-10-25 14:02:15      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:实现   指令   执行   优点   自己的   静态链接   执行文件   改变   修改   

1、动态链接的含义。动态链接就是将链接时的重定位推迟到加载时。相比于静态链接,动态链接的一个优点是可以节省内存。因为共享文件的代码可以共享。使用动态链接的时候,可执行文件和共享文件都会加载到内存。但是,如果很多可执行文件都使用了同一个动向文件的时候,共享文件的代码部分只需要装载一次,这样就达到了节省内存的目的。在这里,共享文件的数据部分在每个可执行文件中都要保存一份。所以,共享文件中跟自己的数据有关的代码就可能会变化,因为数据的地址不确定。一旦变化,就不能达到代码共享的目的了。所以,在这里,一般共享文件是地址无关代码。

2、地址无关代码。目的是指令部分在装载时不需要因为装载地址的改变而改变,所以应该把指令中那些需要修改的部分分离出来跟数据放在一起,这样指令部分就可以保持不变。这种技术就叫地址无关代码技术。下面分几种情况介绍如何实现地址无关:

(1)

《程序员自我修养》阅读笔记-动态链接

标签:实现   指令   执行   优点   自己的   静态链接   执行文件   改变   修改   

原文地址:http://www.cnblogs.com/jianglangcaijin/p/5996272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!