Ich habe mich gefragt, was einige Formate von Objektdateien in Linux sind?
Es gibt zwei Arten von Objektdateien, die ich kenne:
- ausführbare Datei im ELF-Format
-
Objektdateien, die von gcc nach der Kompilierung, aber vor der Verknüpfung generiert werden.
welches Format haben solche Objektdateien?
Oder sind sie auch im ELF-Format, aber mit einigen anderen Unterformaten als ausführbare Dateien?
Ist es die Aufgabe eines Linkers, das Format dieser Art von Objektdateien in das Format ausführbarer Dateien umzuwandeln?
- Gibt es andere Arten von Objektdateien?
Akzeptierte Antwort:
Core-Dumps sind auch eine Art Objektdateien und normalerweise auch im ELF-Format. Wenn Sie dieses Programm ausführen, wird wahrscheinlich eine Datei namens „core“ erzeugt:
int
main(int ac, char **av)
{
char *p = 0;
*p = 'a';
return 0;
}
Meine file
Befehl sagt:
core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'