第二部分 目标文件
1.目标文件分为 文件头、代码段.code、数据段.data、附加段.bss、只读数据段.rodata、重定位段、符号段、.........
2.文件头包含了一些魔数(ELF还是PE)、文件机器长度(32bit还是64bit)、数据存放方式(大段还是小段)、版本、入口地址、程序头长度入口、段表长度位置及数量............
3.代码段包含了程序的代码部分和数据段分开的,用dumpbin可以看到反汇编形式,可以了解一下程序翻译成汇编是什么样子的
4.数据段包含了初始化的全局变量和局部静态变量,有些存到只读数据段中 数据是不能修改的,还有不同的CPU有不同的存放顺序,大段和小段之分
5.附加段包含了未初始化的全局变量和局部静态变量,附加段不占用磁盘空间
6.文件头中包含了整个文件的基本属性,文件大小,机器型号,程序入口,段表等,其中段表中包含了各个段的大小、偏移、读写属性等。 文件头中还有一个重定位表,用来在目标文件链接的时候把绝对地址进行重定位,里面记录了绝对地址的位置。文件头中还有字符串表和符号表等