Linux

Linux中不同格式的目標文件

  • January 8, 2012

我想知道 Linux 中有哪些目標文件格式?

我知道有兩種類型的目標文件:

  1. 執行檔,具有 ELF 格式
  2. 編譯後連結前由 gcc 生成的目標文件。

這些目標文件的格式是什麼?

還是它們也是 ELF 格式,但與執行檔有一些不同的子格式?

連結器的工作是將此類目標文件的格式轉換為執行檔的格式嗎? 3. 還有其他類型的目標文件嗎?

核心轉儲也是一種目標文件,通常也是 ELF 格式。執行這個程序可能會產生一個名為“core”的文件:

int
main(int ac, char **av)
{
       char *p = 0;
       *p = 'a';
       return 0;
}

我的file命令說:

core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'

是的!他們也是ELF。它們被稱為 ELF 目標文件。

引用自:https://unix.stackexchange.com/questions/18153