装载、链接与库

第二部分 目标文件

1.目标文件分为 文件头、代码段.code、数据段.data、附加段.bss、只读数据段.rodata、重定位段、符号段、.........

2.文件头包含了一些魔数(ELF还是PE)、文件机器长度(32bit还是64bit)、数据存放方式(大段还是小段)、版本、入口地址、程序头长度入口、段表长度位置及数量............

3.代码段包含了程序的代码部分和数据段分开的,用dumpbin可以看到反汇编形式,可以了解一下程序翻译成汇编是什么样子的

4.数据段包含了初始化的全局变量和局部静态变量,有些存到只读数据段中 数据是不能修改的,还有不同的CPU有不同的存放顺序,大段和小段之分

5.附加段包含了未初始化的全局变量和局部静态变量,附加段不占用磁盘空间

6.文件头中包含了整个文件的基本属性,文件大小,机器型号,程序入口,段表等,其中段表中包含了各个段的大小、偏移、读写属性等。 文件头中还有一个重定位表,用来在目标文件链接的时候把绝对地址进行重定位,里面记录了绝对地址的位置。文件头中还有字符串表和符号表等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值