Linux
Linux中不同格式的目標文件
我想知道 Linux 中有哪些目標文件格式?
我知道有兩種類型的目標文件:
- 執行檔,具有 ELF 格式
- 編譯後連結前由 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 目標文件。