Besonderer Speicherbereich und Realloc

Gast #5944565
Lesenswert?

Hallo,

ich habe hier einen Controller, der seinen RAM in unterschiedlichen 
Bereichen unterteilt hat.

Nun würde ich davon gerne einen speziellen Bereich nutzen, klappt auch 
indem ich die entsprechenden Compilerdirektiven setze.

Wie aber kann ich mit einer Funktion Realloc/Malloc/Alloc genau 
denselben Speicherbereich nutzen?
Gast #5944594
Lesenswert?

STM32 schrieb im Beitrag #5944565:
> Wie aber kann ich mit einer Funktion Realloc/Malloc/Alloc genau
> denselben Speicherbereich nutzen?

- die Funktionen verwenden Kleinbuchstaben
- was ist "Alloc"?
- ev. hilft "man sbrk" usw.
- vermeide es, wenn geht. malloc() usw. brauchen zusaetzlich 
Verwaltungsoverhead (i.e. Speicher) fuer Freelists. Durch Fragmentierung 
wird dein Speicherverbrauch anwachsen.

leo
#5944743
Lesenswert?

malloc() und realloc() haben bereits einen speziellen Speicherbereich, 
den Heap. Wächst typischerweise auf den Stack zu.

alloca() (nicht alloc()) muss prinzipbedingt auf dem Stack liegen. Hat 
so gesehen also auch bereits einen speziellen Speicherbereich.

Stack + Heap erhalten typischerweise den ganzen nicht anderweitig 
genutzten Speicher. Alles was noch so da ist. Also, was willst du 
wirklich? Was soll das Verlegen in einen anderen Speicherbereich? Größer 
wird dein RAM dadurch auch nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren