Forum: Compiler & IDEs Belegter Speicherplatz in C


von Dirk Broßwick (Gast)


Lesenswert?

Hallo,

ich benutzte den Stack für die reservierung von Speicher in Funktionen,
der nach dem verlassen wieder freigegeben wird. Um mit Hilfe des
Stackpointers den restlichen freie Speicher zu berechnen müsste man
wissen wieviel speicher die variablen belegen und bis zuwelcher
speicheradresse. Gibt es eine möglichkeit an die Adresse der letzten
statisch belegten Variable zu kommen, um damit rechnen zu können.
Leider kann sich das ja ändern bei compilieren. Ab besten wäre das
natürlich als Variable oder Konstante. Hatt da jemand eine Lösung oder
einen Vorschlag wie man das machen kann?

THX im vorraus

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Gibt es eine möglichkeit an die Adresse der letzten
> statisch belegten Variable zu kommen, um damit rechnen zu können.

Das Symbol _end zeigt dorthin.  Müsstest du als "extern uint8_t
_end"
deklarieren können und dann mit &_end dessen Adresse ermitteln.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.