Mi chiedevo quali sono alcuni formati di file oggetto in Linux?
Ci sono due tipi di file oggetto che conosco:
- eseguibile, che ha il formato ELF
-
file oggetto generati da gcc dopo la compilazione ma prima del collegamento.
qual è il formato di tali file oggetto?
Oppure sono anche in formato ELF ma con sottoformati diversi rispetto agli eseguibili?
Il lavoro di un linker è convertire il formato di questo tipo di file oggetto nel formato di eseguibili?
- Esistono altri tipi di file oggetto?
Risposta accettata:
I core dump sono anche file oggetto, di un certo tipo, e di solito anche in formato ELF. L'esecuzione di questo programma produrrà probabilmente un file chiamato "core":
int
main(int ac, char **av)
{
char *p = 0;
*p = 'a';
return 0;
}
Il mio file
il comando dice:
core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'