x86平台有ldd可以很方便的查看对库的依赖关系,但在嵌入式linux环境中没有这个命令,替而代之是 CC=$(CROSS_COMPILE)gcc LDD=$(CROSS_COMPILE)readelf 范例 [plain] view plain copy $(CROSS_COMPILE)reade ...
分类:
其他好文 时间:
2016-04-18 20:41:38
阅读次数:
262
程序达不到预期结果一般情况下先检查三个问题:
1. 是否是运行在ARM平台上, 用命令:file 目标文件名 查看
2. 查看大小端是否对 arm-linux-readelf查看
3. 查看程序用到的某些库是否对 使用命令:arm-linux-readelf -d 目标文件名 (可以查看目标文件在目标板上运行必须用到哪些库,如果开发板上没有该库,则肯定是运行不了的)
ARM反汇编器:在底层编程中是非常有用的!能查看汇编代码!(即如何将程序变成汇编版本)
命令方式:arm-linux-objdump -D ...
分类:
其他好文 时间:
2016-04-17 22:37:31
阅读次数:
230
可执行程序的装载 一、预处理、编译、链接和目标文件的格式 可执行文件的创建——预处理、编译和链接 目标文件及链接 ELF目标文件格式 ELF文件格式 -- (中文翻译版) 查看ELF文件的头部 shiyanlou:Code/ $ readelf -h hello 查看该ELF文件依赖的共享库 shi ...
分类:
系统相关 时间:
2016-04-10 14:20:19
阅读次数:
307
1.nm -D libxxx.so 打印出符号信息。我一般这样用:nm -D libxxx.so |grep T2.ldd libxxx.so 查看依赖关系3.readelf -a libxxxx.so 用来读取elf信息我一般这样用:readelf libxxx.so |grep NEEDED 这...
分类:
系统相关 时间:
2015-12-12 16:56:53
阅读次数:
244
x86平台有ldd可以很方便的查看对库的依赖关系,但在嵌入式linux环境中没有这个命令,替而代之是CC=$(CROSS_COMPILE)gccLDD=$(CROSS_COMPILE)readelf范例$(CROSS_COMPILE)readelf -d SDKDemo_video
Dynamic section at offset 0x1a88 contains 22 entries:
T...
分类:
其他好文 时间:
2015-11-27 17:47:33
阅读次数:
137
注:1. 可用nm查看文件符号表。 2. 可用readelf -a main查看elf格式文件。 3. bss段:未初始化的数据,block storage start,或better save apace。以下列程序为例说明:/* stack.c */char stack[512];int...
分类:
其他好文 时间:
2015-10-14 21:40:21
阅读次数:
281
最近的lab里面有ELF文件相关的,所以成这个几乎,学点ELF的东西。
ELF,是一种文件格式。暂时,只看可执行文件的ELF文件格式。
首先,给出文件的格式的布局图:
光看这个很难理解,所以写一个小的程序,用readelf来结合的看。
程序比较简单:
#include
#include
int data[100] ={0};
int bss[100];
int main()...
分类:
编程语言 时间:
2015-08-30 12:53:55
阅读次数:
673
动态符号表 (.dynsym) 用来保存与动态链接相关的导入导出符号,不包括模块内部的符号。而 .symtab 保存所有符号,包括 .dynsym 中的符号。动态符号表中所包含的符号的符号名保存在动态符号字符串表 .dynstr 中。使用 readelf 查看 .dynsym 表,如:readelf...
分类:
其他好文 时间:
2015-06-30 17:55:06
阅读次数:
144
一、简介 readelf用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a...
分类:
系统相关 时间:
2015-06-13 12:46:17
阅读次数:
176
python源码剖析笔记0——C语言基础回顾
要分析python源码,C语言的基础不能少,特别是指针和结构体等知识。这篇文章先回顾C语言基础,方便后续代码的阅读。
1 关于ELF文件linux中的C编译得到的目标文件和可执行文件都是ELF格式的,可执行文件中以segment来划分,目标文件中,我们是以section划分。一个segment包含一个或多个section,通过readelf命令可以看...
分类:
编程语言 时间:
2015-05-12 00:14:55
阅读次数:
234