malloc() Ziel bestimmen



  • Hallo!

    Ich soll eine Freispeicherverwaltung für eine bestimmte Arena einrichten - alloziieren/dealloziieren.

    Soweit so gut. Ich soll allerdings über die Bitmap rausfinden, welcher Speicher noch frei ist. Hab ich auch hingekriegt. Nur, wie sag ich malloc() das es genau den bestimmten Speicher verwenden soll?

    *p=malloc(40);

    Wo binde ich da die Speicheradresse ein, die alloziiert werden soll?

    Schon mal danke



  • Das geht nicht. Wenn du eine eigene Freispeicherverwaltung bauen willst, hast du mit malloc auch nichts am Hut.



  • kann sein, dass ich mich falsch ausgedrückt habe. Ich soll innerhalb einer Arena einen Bereich alloziieren. Den habe ich vorher rausgesucht als einen freien. Und wie sage ich nun, dass genau an der Stelle aloziiert werden soll?



  • Seh ich das richtig, dass du die Hälfte der Arbeit von malloc selbst gemacht hast und jetzt willst, dass malloc den Rest tut?



  • Aufgabenstellung: Wir sollten aus einer Arena(1024x 40), die festgelegt war, über die Bitmap den 1. freien Platz finden. Und an diesem Platz dann alloziieren und anschließend den Zeiger zurückgeben.

    Ich weiß, dass malloc() einen Speicher alloziiert. Aber ich muss sagen, dass es an der Stelle x einen 40er Block alloziieren soll.



  • [Edit]
    Für was malloc, wenn du deine eigene Speicherverwaltung machst.
    Die Arena ist doch schon alloziert, also suchst du nur nen Platz mit 40 aufeinanderfolgenden freien Zellen und gibst den pointer auf deren Anfang zurück.



  • danke


Anmelden zum Antworten