Linux/Unix平台可执行文件格式分析
发布时间:2016-01-26 08:35:52 所属栏目:Linux 来源:网络整理
导读:简介:本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out( assembler and link editor output 汇编器和链接编辑器的输出)、COFF (Common Object
a.out 文件中包含符号表和两个重定位表,这三个表的内容在连接目标文件 以生成可执行文件时起作用。在最终可执行的 a.out 文件中,这三个表的长度 都为 0。a.out 文件在连接时就把所有外部定义包含在可执行程序中,如果从程 序设计的角度来看,这是一种硬编码方式,或者可称为模块之间是强藕和的。在 后面的讨论中,我们将会具体看到ELF格式和动态连接机制是如何对此进行改进 的。 a.out 是早期UNIX系统使用的可执行文件格式,由 AT&T 设计,现在基 本上已被 ELF 文件格式代替。a.out 的设计比较简单,但其设计思想明显的被 后续的可执行文件格式所继承和发扬。可以参阅参考资料 16 和阅读参考资料 15 源代码加深对 a.out 格式的理解。参考资料 12 讨论了如何在"现代"的红帽 LINUX运行 a.out 格式文件。 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |