Linker, Loader und ausführbare Formate

Welche Aussage zum unter Linux u. a. üblichen ELF-Format ist richtig?

  1. AEs ist ein Format ausschließlich für ausführbare Dateien und für Objektdateien nicht verwendbar
  2. BEs wird für Objektdateien, ausführbare Dateien und Shared Libraries verwendet und besteht aus Header, Sections usw.
  3. CEs ist ein Format zum Speichern von Bildern
Antwort und Erläuterung anzeigen

Antwort: B. Es wird für Objektdateien, ausführbare Dateien und Shared Libraries verwendet und besteht aus Header, Sections usw.

ELF (Executable and Linkable Format) ist das Dateiformat für Programme, das unter Linux und vielen weiteren UNIX-artigen Betriebssystemen sowie in Embedded-Geräten verwendet wird. Im ELF-Header am Anfang stehen die Ziel-CPU, ob es sich um 64 Bit handelt, die Adresse, an der die Ausführung beginnt, u. a.; darauf folgen Sections wie .text und .data sowie Program Header, die die Einheiten angeben, die der Loader in den Speicher lädt. Unter Windows wird das PE-Format, unter macOS das Mach-O-Format verwendet.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Linker, Loader und ausführbare Formate

  1. Was steht in der Section .text einer ausführbaren Datei?
  2. In welcher Section wird eine außerhalb von Funktionen geschriebene globale Variable „int limit = 100;“ in C im Allgemeinen abgelegt?
  3. Welche Aussage zu den Merkmalen der Section .bss ist richtig?
  4. Die Ausführung von „char *p = "hello"; p[0] = 'H';“ in C führt in vielen Umgebungen zu einem abnormalen Abbruch. Welcher Grund ist richtig?
  5. Welche Kombination der obigen globalen Variablen wird im Allgemeinen in der Section .bss abgelegt?

Vergleiche zu diesem Thema