前端之家收集整理的这篇文章主要介绍了
linux – 动态链接器和动态加载器有什么区别?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道动态加载器的作用.它在运行时应用程序请求加载程序,从而最小化内存占用量.但我真的没有得到这个动态
链接器是什么?它的优点是什么?我阅读了很多在线
内容,但他们正在抽象地谈论.
有人可以用一些简单的例子来解释我吗?
它们实际上是同一件事的两个术语.
在Unix世界中,术语动态链接器用于表示在运行时链接动态库的操作系统组件,而大多数其他系统上的加载器同时执行程序加载和链接动态库.
因为在类Unix系统下加载库是由一个单独的组件(最常见的是ld)完成的,所以动态链接器被认为是与程序加载器不同的东西.编译器通常在可执行文件的开头插入一些存根代码来加载ld.so,并且ld.so将在调用main之前继续加载其余的依赖库.程序加载是在内核空间中完成的,链接动态库通常在用户空间中完成.
这与Windows不同,Windows中的程序加载和链接动态库都是在内核模式下完成的.
原文链接:https://www.f2er.com/linux/394405.html