Linux下可执行文件格式


Linux支持的可执行文件主要有:Coff,elf,flat,类似Windows的.exe

  Coff文件格式
  Common Object File Format,最早与uclinux的m68k编译器结合,比较成熟。主要特征是:应用程式可以在目标程式中添加独立于系统的信息,同时不影响对目标程式的访问;为调试器预留空间,以便添加调试信息;可以通过编译选项改变目标文件的生成方式。

  elf文件格式
  Executable and Linkable Format,可执行和链接格式,支持动态链接和重定位。比Coff有稍微开销,但比Coff灵活。是Linux的通用格式,可在编译时通过-elf2flt选项转换成flat格式。

  flat文件格式
  压缩的可执行二进制文件格式,应用于uclinux,只保存可执行代码和数据,以及将可执行程式load到memory时所需要的重定位信息。可通过elf转化。

相关内容