Me preguntaba cuáles son algunos formatos de archivos de objetos en Linux.
Hay dos tipos de archivos de objetos que conozco:
- ejecutable, que tiene formato ELF
-
archivos de objeto generados por gcc después de la compilación pero antes de la vinculación.
¿Cuál es el formato de tales archivos de objetos?
¿O también tienen formato ELF pero con algunos subformatos diferentes a los ejecutables?
¿El trabajo de un enlazador es convertir el formato de este tipo de archivos de objetos en el formato de ejecutables?
- ¿Hay otros tipos de archivos de objetos?
Respuesta aceptada:
Los volcados del núcleo también son archivos de objetos, de algún tipo, y generalmente también en formato ELF. Ejecutar este programa probablemente generará un archivo llamado "núcleo":
int
main(int ac, char **av)
{
char *p = 0;
*p = 'a';
return 0;
}
Mi file
comando dice:
core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'