Zajímalo by mě, jaké jsou některé formáty objektových souborů v Linuxu?
Znám dva typy objektových souborů:
- spustitelný soubor, který má formát ELF
-
objektové soubory, které jsou generovány gcc po kompilaci, ale před propojením.
jaký je formát takových objektových souborů?
Nebo jsou také ve formátu ELF, ale s některými jinými podformáty než spustitelné soubory?
Je úkolem linkeru převést formát tohoto typu objektových souborů do formátu spustitelných souborů?
- Existují jiné typy objektových souborů?
Přijatá odpověď:
Výpisy jádra jsou také svého druhu objektové soubory a obvykle také ve formátu ELF. Spuštění tohoto programu pravděpodobně vytvoří soubor s názvem „core“:
int
main(int ac, char **av)
{
char *p = 0;
*p = 'a';
return 0;
}
Můj file
příkaz říká:
core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'
Linux – Jak šáhnout po konkrétním slovu a uchopit text?
Jak odstranit prvních N řádků souboru Ascii pomocí příkazů Shell?