Linker and Loader(链接与加载)学习笔记---目标文件解析

目标文件格式

  Windows:PE

  Linux:      ELF

  都是COFF文件的变种

动态链接库,静态链接库,可执行文件均按照COFF格式存储。

ELF格式的文件可以归为下列四类:

  可重定位文件 --- .o

  可执行文件  --- .out

  共享目标文件 --- .so

  核心转储文件 --- 进程意外终止时,系统将进程地址空间内容与终止时的一些信息转储到核心转储文件

目标文件的内容

  猜测:内容包括编译后的机器指令代码,数据,函数符号。

  实际:还包括链接时需要的一些必要信息,如符号表,调试信息,字符串等。

一般目标文件将这些内容,以Section或Segement的形式存储。

两者在ELF装载或链接时加以区别。

程序编译后机器指令全部存储在代码段 (.text)全局变量与局部静态变量存储在数据段(.data)

.bss段为未初始化的的全局变量与局部静态变量预留位置,没有内容也不占用空间

程序段代码被编译后主要分为两种段:程序指令与程序数据

posted @ 2021-11-16 22:04  神龙逗勇士  阅读(117)  评论(0编辑  收藏  举报