Linker, Loader und ausführbare Formate

Was steht in der Section .text einer ausführbaren Datei?

  1. ADie Maschinenbefehle des Programms
  2. BIm Programm verwendete Texte (Textdateien)
  3. CWährend der Ausführung eingegebene Zeichenketten
Antwort und Erläuterung anzeigen

Antwort: A. Die Maschinenbefehle des Programms

Die Section .text enthält die Maschinenbefehle der übersetzten Funktionen. Während der Ausführung sind üblicherweise nur Lesen und Ausführen erlaubt und Schreiben verboten, was fehlerhafte Schreibzugriffe und das Überschreiben von Code durch Angreifer verhindert. Da sie nicht überschrieben wird, kann eine einzige Kopie im physischen Speicher gemeinsam genutzt werden, wenn dasselbe Programm oder dieselbe Shared Library von mehreren Prozessen ausgeführt wird.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Linker, Loader und ausführbare Formate

  1. In welcher Section wird eine außerhalb von Funktionen geschriebene globale Variable „int limit = 100;“ in C im Allgemeinen abgelegt?
  2. Welche Aussage zu den Merkmalen der Section .bss ist richtig?
  3. 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?
  4. Welche Kombination der obigen globalen Variablen wird im Allgemeinen in der Section .bss abgelegt?
  5. Wo liegt während der Ausführung eine in einer C-Funktion deklarierte lokale Variable ohne static (automatische Variable)?

Vergleiche zu diesem Thema