Besonderer Speicherbereich und Realloc

Gast #5944565
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
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
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.
STM32 schrieb im Beitrag #5944565:
> Wie aber kann ich mit einer Funktion Realloc/Malloc/Alloc genau
> denselben Speicherbereich nutzen?

RTFM

In dem Fall das der Standardlib, die du verwendest, ob du da eine eigene 
Speicherverwaltung für malloc einbauen kannst.

Oliver

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.