当前位置:  技术问答>linux和unix

为什么链接器本身是个ld.so文件? 那又由谁去把这个ld.so加载到进程空间呢?

    来源: 互联网  发布时间:2017-02-23

    本文导语:  今天在看,里面P126显示一个调用了共享库的进程,内存映像的一个图。里面在高地址(堆栈的下方),是链接器。 我上网搜了一下,发现ld确实是一个动态库ld.so. 问题是,人不能提着头发把自己抓起来,对吧,那么ld....

今天在看,里面P126显示一个调用了共享库的进程,内存映像的一个图。里面在高地址(堆栈的下方),是链接器。

我上网搜了一下,发现ld确实是一个动态库ld.so.

问题是,人不能提着头发把自己抓起来,对吧,那么ld.so怎么把自己加载到进程地址空间呢?
这个ld又是链接的工具,又是程序装载的工具,如何被调用的呢?

|
程序装载的工具,没说库本身就是装载程序吧。
可执行文件包含一个import directory表,表的每一项包含一个库的名字。
根据表中记录的名字,装载程序在硬盘上搜索需要的库,然后将其加载到内存中预先不确定的位置,之后根据加载库后确定的库的地址更新可执行程序。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 未使用链接器输入文件,因为链接尚未完成
  • 如何判断是否是硬链接 或者是软链接 还是源文件
  • 链接器链接目标文件和printf.o是怎么连接的
  • .a文件的动态链接和静态链接问题
  • 为一个文件建立一个符号链接,打开这个符号链接文件,将该文件的内容读出,并复制它。
  • linux下静态库使用:"未使用链接器输入文件,因为链接尚未完成"
  • 请以一个视频文件为例,说明一下linux的硬链接跟软链接的区别
  • 比较难的目录复制,如何原样复制链接符号文件和设备文件?
  • SOS 在 linux 中如何用命令来判断一个文件是否为链接文件
  • 链接文件的复制问题,重问
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • 从Linux拷贝文件时,总出现符号链接错误时怎么回事?
  • 请问:用emacs修改链接文件的问题
  • 怎样知道一个文件有没有硬链接?
  • 关于硬链接的数目及文件夹大小
  • 在Unix环境下用gcc如何编译成动态链接库文件?类似Windows下的DLL文件。
  • 可执行文件比静态链接库小正常吗?
  • makefile文件的链接问题。
  • 请问如何拷贝带有链接的文件?
  • 请教:LINUX 如何将多个文件碎片链接成一个完整文件,而不是再拷贝一份数据~
  • HTML 5 <base> 标签-规定页面中所有链接的基准 url
  • 如何在一个静态链接库中链接另一个静态链接库?
  • HTML 5 <a>定义超链接标签
  • 讨论一下UNIX中的硬链接与符号链接
  • HTML 超链接详细介绍
  • linux中静态链接库调用了另一个静态链接库
  • HTML URL 链接 ( 统一资源定位器 )定义及用法详细介绍
  • 编译静态链接库,其中使用了其它链接库,该如何写makefile
  • ​Docker 容器数据管理,链接容器,构建私有库
  • 动态库链接 变为 静态库链接问题
  • linux中都有哪些链接方式,创建链接的命令是什么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3