静态链接(二)

PC平台流行的可执行文件格式:

(可执行文件、动态链接库(dll)、静态链接库(lib)都是以可执行文件的格式存储的)

  • Windows --- PE(Portable Executable)
  • Linux --- ELF(Executable Linker Format)
  1. 可重定位文件
  2. 可执行文件
  3. 共享目标文件(包含了代码和数据,一种是链接器使用这种文件跟其他的共享目标文件和可重定位文件链接,另一种是动态链接器将几个这种文件和可执行文件结合,作为进程映像的一个部分来运行)
  4. 核心转储文件(进城意外终止时,将该进程的内容和其他信息转储到这里)
目标文件什么样子
  • 代码段 : 程序源代码编译后的机器指令(常见名字有.code和.text)
  • 数据段 : 全局变量和局部静态变量(已初始化的放在.data,未初始化的放在.bss里)
  • .bss只是为未初始化的全局变量和局部静态变量预留位置,它没有内容,所以在文件中也不占空间。

你可能感兴趣的:(静态链接(二))