From: Alexander Holler (holler_at_ahsoftware.de)
Date: 09. Apr 2002
Hallo Mathias,
--On Dienstag, 9. April 2002 12:07 +0200 Mathias Waack
<mathias_at_atoll-net.de> wrote:
> ich suche so eine Art "malloc library". Mein konkretes Problem ist in
> etwa folgendes: ich habe einen speziellen Speicherbereich, den ich
> aehnlich wie bei ueblichen Prozessen von einer Seite her als eine Art
> Stack, und von der anderen Seite als Heap nutzen moechte. Ich brauche
> also eine malloc Implementierung, der ich eine Basis-Adresse und die
> Richtung in die Addressen wachsen vorgeben kann. Kennt jemand eine
> ready-to-use Implementierung fuer sowas? Nach Moeglichkeit sollte es
So einfach ist das nicht. Zuerst mal fehlt die Angabe wo dieser spezielle
Speicherbereich denn herkommt, ist das ein reales Stück Speicher mit einer
speziellen Adresse oder kommt der Speicher z.B. vom BS?
Das mit dem Wachsen ist auch nicht ganz so einfach. Unter normalen
Umständen kann man nicht davon ausgehen, das bei 2 mallocs der Speicher des
2. malloc über bzw. unter dem 1. liegt. Zum einen macht da das malloc der
verwendeten libc evtl. etwas anderes, zum anderen bekommt das malloc der
libc seinen Speicher wiederum vom BS, welches sich auch nicht um eine
irgendeine Linearität der Startadressen zurückgelieferter Speicherbereiche
kümmert.
Wenn du mit C++ arbeitest hilft dir evtl. ein Blick in die stl. In dieser
findet man eine Menge generischer Mengen dessen malloc bzw. free Funktionen
man durch entsprechen Allocator-Klassen anpassen kann.
Gruß,
Alexander
Dieses Archiv wurde generiert von hypermail 2.1.2 : 09. Apr 2002 CEST