剖析.o文件ELF组成】的更多相关文章

ELF文件结构组成 ①总共13个节 ②每个节都有一个编号.从ELF头开始编号,编号从0开始,编号的作用就是用来索引(找到)不同节的. ③每个.o的都是这样的结构.链接时要做的就是,将ELF格式的.o全部合成为一个完整的ELF格式可执行文件. ④.o中每个节的逻辑地址都是从0开始的 ELF头 ELF格式头放什内容? 放ELF格式所需要的一些基本信息,比如 ①系统所规定的字的大小.64 OS:字大小是64bit 32 OS:字大小是32bit ②字节顺序(字节序) 用于说明系统是大端序的还是小端序的…
不赖猴的笔记,转载请注明出处. 深入剖析PE文件 PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一.        基本结构. 上图便是PE文件的基本结构.(注意:DOS MZ Header和部分PE header的大小是不变的:DOS stub部分的大小是可变的.) 一个PE文件至少需要两个Section,一个是存放代码,一个存放数据.NT上的PE文件基本上有9个预定义的Section.分别是:.t…
来源: <程序员的自我修养>3.4节. 补充: http://wiki.osdev.org/ELF http://www.linux-mag.com/id/116/ http://en.wikipedia.org/wiki/A.out http://osr507doc.sco.com/en/man/html.FP/a.out.FP.html…
Linux文件编码的查看和修改都有不止一种做法,如果你需要在Linux中操作windows下的文件,那么很可能会经常遇到文件编码转换的问题,如何进行这项工作,也应该是经常工作在双系统下的操作者的必须掌握的知识. Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileen…
对比参考:剖析.o文件ELF组成 相比.o的ELF格式,有哪些变化? .rel.text和.rel.data消失了 为什么这两个节会消失? 链接器将各.o中同名的.text和.data节整合到一起时,会对整合后的.text和.data进行重定位.其实重定位时主要针对就是.text和.data节,不过这.text和.data节重定位时需要依赖.rel.text和.rel.data中的信息,一旦重定位结束后,这两个节的使命就完成了,自然也就会消失. 多出了两个节 init节 作用 这个节会提供_in…
转自:Linux系统中“动态库”和“静态库”那点事儿 前言 在调试lua脚本的时候,报错. 我已经再lua脚本中更改了cpath package.cpath = package.cpath .. ";/usr/local/lib/?.so" 而且在/usr/local/lib有liblualongnumber.so.0啊,怎么会找不到呢? 下文将介绍此问题的解决过程 理论部分 参考: 剖析可执行文件ELF组成 剖析.o文件ELF组成 目标文件 .symtab 编译 剖析gcc -v输出…
参考:剖析.o文件ELF组成 目标文件 .symtab中记录的符号是从.s文件来的,所以.s这个汇编文件很关键. .symtab所记录符号的种类 示例代码 a.c ; static float a_va2 = 200.0; static void a_fun2(void) { a_va2 += ; } extern int a_fun1(int a) { b_va1 = b_va1+; b_fun1(); a_fun2(); } b.c ; int b_fun2(void) { ... } in…
被忽略的过程 对于C这种编译性语言,我们平时编译时,不管是通过IDE图形界面,还是通过命令行,总感觉编译一下就完成了,然后就得到了针对某OS和某CPU的二进制可执行文件(机器指令的文件).但是实际上在源码到可执行文件中间隐藏了四个过程,这四个过程被OS默默的处理了. 编译四个过程:预处理.编译.汇编.链接 四个过程中的“编译”,特指其中的某个过程,这四个过程合在一起,我们也统称为编译,所以“编译”二字到底指的是第二个过程,还是全部过程的统称,这个就要看说话的“语境”了.其实统称的“编译”,完整的…
ELF文件格式是一个开发标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型: 可重定位的目标文件 可执行文件 共享库 现在分析一下上一篇文章中经过汇编之后生成的目标文件max.o和链接之后生成的可执行文件max的格式,从而理解汇编.链接和加载执行的过程. 一.目标文件 ELF文件格式提供了两种不同的视角,在汇编器和链接器看来,ELF文件是由Section Header Table描述的一系列Section的集合,而执行一个ELF文件时,在加载器看来它是由Program Hea…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的executable文件(elf). 第四.五节课里,痞子衡已经给大家介绍了2种output文件,本文继续给大家讲project生成的另一种output文件-executable文件,也是特别重要的output文件. 文件关系:链接文件(.icf) + 工程文件(.ewp) + 可重定向文件(.o/.a) -> 可执行文件(.out/.elf) 仔细看过痞子衡之前课程的朋友肯定知道,痞子衡在第四节课可重定向文件(.o/.…