Linker, Loader und ausführbare Formate
In welcher Section wird eine außerhalb von Funktionen geschriebene globale Variable „int limit = 100;“ in C im Allgemeinen abgelegt?
- A.data (Daten mit Initialwert)
- B.bss (Daten ohne Initialwert)
- C.text (Maschinencode)
Antwort und Erläuterung anzeigen
Antwort: A. .data (Daten mit Initialwert)
Globale und statische Variablen mit einem von 0 verschiedenen Initialwert liegen in der Section .data, und ihr Initialwert ist in der Datei gespeichert. Beim Laden des Programms wird dieser Inhalt unverändert in den Speicher abgebildet, sodass limit zu Beginn von main den Wert 100 hat. .data wird zur Laufzeit überschrieben und ist daher ein Bereich mit Lese- und Schreibrecht.