Linux 动态连接加载器 ld-linux用法

文章作者:网友投稿 发布时间:2009-12-10 16:21:11 来源:网络

ld-linux有两种用法,间接调用和直接调用。 间接调用时,连接器会把ld-linux的执行路径嵌入到可执行文件中,如elf文件时,ld-linux被放在.interp段中。 直接调用时,在命令行下输入/lib/ld-linux-so.* [选项] [可执行程序] [程序参数] ld-linux按照如下顺序搜索可执行程序需

ld-linux有两种用法,间接调用和直接调用。

间接调用时,连接器会把ld-linux的执行路径嵌入到可执行文件中,如elf文件时,ld-linux被放在.interp段中。

直接调用时,在命令行下输入/lib/ld-linux-so.* [选项] [可执行程序] [程序参数]

ld-linux按照如下顺序搜索可执行程序需要的共享库:

1. (只针对elf文件) 可执行程序中如果有DT_RPATH或DT_RUNPATH段,则使用这两个段中指定的搜索目录。

2.使用环境变量LD_LIBRARY_PATH指定的搜索目录

3.使用/etc/ld.so.cache中的搜索目录,但如果可执行程序在连接时候添加了-z nodeflib选项,则不使用。

4.使用默认的库目录,/lib /usr/lib,如果添加了-z nodeflib,则不使用。

编译可执行程序时,可以安如下方法指定共享库的目录

gcc -Xlinker -rpath=DIR -o exe exe.c

编译完后,运行readelf -d exe可以看到如下段

0x0000000f (RPATH) Library rpath: [DIR]

linux程序加载器,Linux 动态连接加载器 ld-linux用法相关推荐

  1. linux 动态链接库的创建和使用--动态连接

    linux 动态链接库的创建和使用--动态连接 分类: C 编程 2012-03-25 17:01 568人阅读 评论(0) 收藏 举报 linuxreferencefunctiondatec /* ...

  2. 如何在浏览器中运行Linux程序,如何在Chromebook的浏览器标签中运行完整的Linux桌面 | MOS86...

    Crouton是在Chromebook上运行Linux操作系统的最佳方法.现在吧 这是它 工作原理相关文章图片1tupian购买适用于Linux的Chromebook时,需要牢记4件事 这种方法需要一 ...

  3. 无法定位程序输入点dxgiget_无法定位程序输入点createDXGIFactory1于动态连接库dxgi.dll...

    展开全部 系统文件dxgi.dll是存放在Windows系统文件夹中62616964757a686964616fe58685e5aeb931333332643264的重要文件,通常情况下是在安装操作系 ...

  4. java图片加气泡文字,动态图片加气泡文字 微信动态图片加文字教程

    现在微信聊天少不了表情图片,这越有个性.独特的就越受大众喜爱,每每看到好看的图片时,大家也会忍不住收藏起来用.那你有没有想过自己P图呢?学一下PS图片创作一些独一无二的搞笑表情图,放在微信上秀秀吧,也 ...

  5. 【C语言】标准库(头文件、静态库、动态库),windows与Linux平台下的常用C语言标准库

    一.Introduction 1.1 C语言标准库 1.2 历代C语言标准 1.3 主流C语言编译器 二.C语言标准库 2.1 常用标准头文件 2.2 常用标准静态库 三.windows平台 四.Li ...

  6. VS开发Linux程序(VisualGDB)

    点击打开链接 VisualGDB是在vs上开发Linux程序的工具,利用visual studio强大的功能调试Linux程序真的是很惬意的一件事情.VisualGDB支持Linux的原理是,通过ss ...

  7. 易语言linux计时器,易语言编写linux程序

    易语言支持直接写linux程序在windows下调试,然后可以在linux在直接运行.这点觉得挺强的.不知道其它语言是不是也支持这样:在windows下编译,然后可以到linux下执行.虽然只是可以写 ...

  8. 2021SC@SDUSC openssl 动态模块加载

    2021SC@SDUSC 6 动态模块加载 6.1 动态库加载 动态库加载函数能让用户在程序中加载所需要的模块,各个平台下的加载函数是不一样的. 动态加载函数一般有如下功能: 1)加载动态库 wind ...

  9. 如何成为一名现代的Linux程序员

    如何成为一名现代的Linux程序员 近几年来,Linux有了很大的发展,已从一个不起眼的小玩意发展到在越来越多的<财富>500强公司中发挥巨大作用.从人们使用的手机到最大型的超级计算机集群 ...

最新文章

  1. Android错误之--activity_main cannot be resolved or is not a field
  2. java 静态块的作用域_java 学习笔记(一)
  3. springCloud负载均衡Ribbon和Feign的区别
  4. 河南信息工程学校计算机组装比赛,计算机技术系承办2019全员化试点项目计算机网络装调赛项...
  5. LeetCode 1868. 两个行程编码数组的积(双指针)
  6. 【树状数组】Bzoj1878[SDOI2009] HH的项链
  7. 如何用python控制设备实现自动_带你用 Python 实现自动化群控设备
  8. (二十一)访问者模式-代码实现
  9. 解决问题,别扩展问题
  10. 学生管理系统IPO图_C语言学生信息管理系统演示和说明(文件版)
  11. spyder python下载_Spyder python下载
  12. Matlab中table2array函数使用
  13. linux 从设备 spi,在Linux 4.9设备树中添加SPI slave设备rapbery pi
  14. oracle函数translate,oracle中Translate()函数用法
  15. 免费好用的英语单词统计软件(带翻译功能)
  16. Vast.ai GPU服务器连接
  17. 演示笔记本重装系统win7教程,笔记本电脑安装win7系统
  18. silk lobe资源公众号_关于关注阿拉善盟公共资源交易中心微信公众号的通知
  19. 算法系列——输出所有的笛卡尔积组合
  20. android studio找不到app moudle

热门文章

  1. python教程:如何写类?
  2. linux 查看ntp版本号_如何让Linux时间与internet时间同步(CentOS)?
  3. html5语义化标签marquee,高效书写HTML5,快速提升你的编码效率!
  4. 天眼FAST如何发现脉冲星?
  5. 20200207_Dontla_MBTI第二步基本分析报告((ISTJ))
  6. 深度学习中不变性是什么?平移不变性Translation Invariance、旋转/视角不变性Ratation/Viewpoint Invariance、尺度不变性Size、Illumination
  7. tensorflow tf.name_scope() 命名空间(用于规定对象和操作属于哪个区域)
  8. Python中的正则表达式(特征匹配)
  9. Integer及String的equals及==注意示例,涉及自动拆箱、自动装箱以及equals源码分析
  10. Python多线程threading和多进程multiprocessing的区别及代码实现