加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 动态链接器和动态加载器有什么区别?

发布时间:2020-12-13 18:50:35 所属栏目:Linux 来源:网络整理
导读:我知道动态加载器的作用.它在运行时应用程序请求加载程序,从而最小化内存占用量.但我真的没有得到这个动态链接器是什么?它的优点是什么?我阅读了很多在线内容,但他们正在抽象地谈论. 有人可以用一些简单的例子来解释我吗? 解决方法 它们实际上是同一件事
我知道动态加载器的作用.它在运行时应用程序请求加载程序,从而最小化内存占用量.但我真的没有得到这个动态链接器是什么?它的优点是什么?我阅读了很多在线内容,但他们正在抽象地谈论.

有人可以用一些简单的例子来解释我吗?

解决方法

它们实际上是同一件事的两个术语.

在Unix世界中,术语动态链接器用于表示在运行时链接动态库的操作系统组件,而大多数其他系统上的加载器同时执行程序加载和链接动态库.

因为在类Unix系统下加载库是由一个单独的组件(最常见的是ld)完成的,所以动态链接器被认为是与程序加载器不同的东西.编译器通常在可执行文件的开头插入一些存根代码来加载ld.so,并且ld.so将在调用main之前继续加载其余的依赖库.程序加载是在内核空间中完成的,链接动态库通常在用户空间中完成.

这与Windows不同,Windows中的程序加载和链接动态库都是在内核模式下完成的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读