程序员的自我修养读书笔记---目标文件里有什么3

主要讲解了目标文件的各种信息。

主要介绍了ELF文件的代码段、数据段和BSS段等与程序相关的段结构信息。还详细介绍了ELF文件的文件头、段表、重定位表、字符串表、符号表、调试表等相关结构。

从本章了解到,无论是可执行文件、目标文件和库,实质上都是基于段的文件或这种文件的集合,程序的源码经过编译后,按照代码、数据分别存放到相应的段中,编译器(汇编器)还会将一些辅助信息(符号表、重定位信息等)按照表的方式存放在目标文件中。通常情况下,一个表往往就是一个段。

 

3.1- 目标文件格式

目标文件是源文件经过编译但未进行连接的中间文件(*.obj、*.o),和可执行文件的内容很相似。

可执行文件(*.exe、 ELF)、动态链接库(*.dll、*.so)、静态链接库(*.lib、*.a)均按照可执行文件存储。

 

3.2- 目标文件是什么样的

代码段(.text):代码信息

数据段(.data):初始化的全局变量、初始化的静态局部变量

bss段(.bss):未初始化的全局变量、未初始化的静态局部变量

 

3.3- 挖掘SimpleSection.o(重点阅读

.text

.data

.bss

其他段

 

3.4- ELF文件结构描述(重点阅读

3.3以SimpleSection.o为例分析了其中的代码段、数据段、bss段信息,但是xxx.o不是完整的ELF格式。

以可执行文件,分析ELF文件的格式:ELF文件头、.text、.data、.bss、其他段、字符串表、符号表。

 

3.5- 链接的接口--符号(重点了解

 

3.6- 调试信息

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值