readelf -sV xxx 查看指定二进制文件运行时的加载库以及对应版本
并依据该命令可以修改某一二进制文件依赖的glibc库函数的版本,从而让改二进制程序可以运行在低版本的操作系统

readelf 读取链接表头

readelf -h xxx

ELF文件介绍

ELF(executable and linking format)是一个定义了目标文件内部信息如何组织的文件格式。内核会根据这些信息加载可执行文件,内核根据这些信息可以知道从文件哪里获取代码,从哪里获取初始化数据,在哪里应该加载共享库,等信息。

主要包括以下几种文件:

  1. 可重定位文件(relocatable):编译器和汇编器产生的.o文件,需要被Linker进一步处理
  2. 可执行文件(Executable):在重定位结束之后所有的符号都被解析到该文件,能够直接运行(除了一些共享库文件没有被链接进去,只是动态加载)
  3. 共享对象文件(Shared Object): 即动态库文件(.so)
  4. 核心转储文件(Core File)

readelf 读取动态链接表命令相关推荐

  1. Linux 命令之 source -- 在当前Shell环境中从指定文件读取和执行命令

    文章目录 一.命令介绍 二.命令格式 三.命令示例 一.命令介绍 source 命令会在当前 Shell 环境中从指定文件读取和执行命令.source 命令通常用于重新执行刚修改的初始化文件,使之立即 ...

  2. 烧录时初始化DDR报错 [0x10105004]Romcode/初始化DDR/读取初始化结果/命令结果返回错误

    如下图,烧录时DDR初始化报错 [0x10105004]Romcode/初始化DDR/读取初始化结果/命令结果返回错误 串口打印信息如下图 通过日志信息我们可以发现DDR类型为DDR4,初始化时却只检 ...

  3. mysql.h 动态编译命令_Linux环境编译动态库和静态库总结

    对Linux环境动态库和静态库的一些基础知识做一些总结, 首先总结静态库的编译步骤. 1 先基于.cpp或者.c文件生成对应的.o文件 2将几个.o文件 使用ar -cr命令 生成libname.a文 ...

  4. linux读取一行数据命令,常用的linux命令和逐行数据处理的例子

    原标题:常用的linux命令和逐行数据处理的例子 Linux具有开源,处理性强等优点. 并且由于生物数据量较大,对数据处理性能要求更高, 所以生物信息分析软件大多都是针对linux系统进行开发的. 在 ...

  5. Linux显示瞬间进程动态的命令ps

    ps用于显示瞬间进程的动态信息.其用法如下: 一.常用参数: -A 显示所有进程(等价于-e)(utility) -a 显示一个终端的所有进程,除了会话引线 -N 忽略选择. -d 显示所有进程,但省 ...

  6. Linux下,进程的相关知识,进程的消耗,常用信息,状态,静态查询命令ps,动态查询命令top

    Linux下,进程的相关知识,进程的来源,去向,状态,静态查询命令ps 一.进程主要组成部分 0.没有执行的程序就是普通文本文件,将程序运行起来以后就是进程,进程又有以下组成部分 1.一个或多个文件 ...

  7. linux读取一行数据命令,Shell脚本一次读取文件中一行的2种写法

    写法一: #!/bin/bash while read line do echo $line     #这里可根据实际用途变化 done < urfile 写法二: #!/bin/bash ca ...

  8. JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法

    新版本 chrome 执行 document.execCommand('paste') 返回 false 因为读取剪切板涉及用户隐私安全,必须的用户允许的情况下可以进行访问,但是复制和剪切功能可以使用 ...

  9. pytest中pytest_addoption用法 动态添加命令行参数 (钩子函数)

    考虑场景: 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行: 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑: 上面的场景我们都可以通过" ...

最新文章

  1. 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )
  2. Codeforces 1027F. Session in BSU
  3. sqlserver 去除 重复列 [行]
  4. 【SD】自定义销售订单审批状态
  5. Pascal's Triangle Leetcode Java and C++
  6. 使用css绘制小三角
  7. wamp环境搭建到mysql就不成功_Wamp环境搭建常见错误问题解决
  8. url上传参 用requestmapping接受_14 个 Spring MVC 顶级技巧,随时用随时爽,一直用一直爽...
  9. 【系统分析师之路】第五章 复盘软件工程(开发模型开发方法)
  10. 3dmax报错信息大全,最全解决方案来了
  11. 5e服务器显示steam名字,5e为什么不显示我csgo的名字(5ecsgo)
  12. 苹果apple id无法申请开发者帐号问题
  13. WinMerge使用教程
  14. 浅谈大数据服务平台架构与实践
  15. git clone下载代码,解决中途断开下载的方法
  16. Neo4j导入本地CSV文件三元组关系生成图谱
  17. [附源码]java毕业设计小说网站的设计与实现1
  18. go 判断切片是否存在某元素_Golang切片(Slice)
  19. 一文读懂:快速入门机器学习,基础向
  20. 现在Java程序员的薪资如何?有哪些就业方向

热门文章

  1. Linux安全基础:shell及一些基础命令
  2. Intent七大属性
  3. 怎么在vs2010中使用ActiveX Test Container(转)
  4. pytorch中tensor.mul()和mm()和matmul()
  5. gis中的加权求和工具在哪里_ArcGIS教程:加权总和的工作原理
  6. 算法设计与分析第4章 动态规划(二)【DP序列问题】
  7. java更新blob字段的值_对一个BLOB字段如何用update 来更新?? (100分)
  8. php 获取下拉框选中的文本,jQuery实现select下拉框获取当前选中的文本
  9. mysql触发器菜鸟_mysql触发器学习
  10. 分屏如何保持运行状态_摊铺机熨平板如何保持稳定的工作状态?