您的位置:首页 > 其它

程序编译-汇编-链接的理解04-可执行文件概述

2017-12-18 15:21 453 查看

写在前面:

这一节主要是对于可执行目标文件格式的理解。

内容:

与可重定位文件稍有不同:

1.在ELF头字段给出执行程序时第一条指令的地址,在可重定位的文件中则为0

因为可重定位文件不会被执行,所以不会给出执行代码的地址

2.多了一个程序头表,也称段头表 是一个结构数组,因为可执行文件是为了装入到存储器执行的,

程序头表就说明了这些节和段的对应关系,有些节是要装入内存当中有些不用。

3.多了一个.init节 用于定义_init函数,该函数用于进行可执行目标文件执行时的初始化工作。

4.少了两个重定位节 因为无需重定位



程序头表表示如下的映射关系:



为了能执行,将相同的访问属性的节合并成段!说明每个段的属性! 比如在可执行文件中的位移,大小,在虚拟空间的位置,对其的方式,访问属性等等。说明的信息就是程序头表

程序头表描述了可执行文件中的节与虚拟空间的存储段之间的映射关系。

一个表项说明虚拟空间中一个连续的段或者一个特殊的节。





对齐方式 问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐