Betrachten Sie die Verwendung von malloc(), um x Bytes Speicher in einem fragmentierten Heap zuzuweisen. Angenommen, der Heap hat mehrere zusammenhängende Speicherplätze mit einer Größe von mehr als x Bytes.
Welche der folgenden Heuristiken ist die beste (die zu der geringsten Heap-Verschwendung führt), um einen Standort zu wählen?
- Wählen Sie die kleinste Stelle, die größer als x Bytes ist.
- Wählen Sie den größten Speicherplatz, der größer als x Bytes ist.
Meine Intuition ist der kleinste Ort, der größer als x Bytes ist. Ich bin mir nicht sicher, was in der Praxis das Beste ist.
Nein, dies ist keine Auftragsfrage. Ich habe dies gelesen Wie funktionieren malloc() und free()? und dies scheint eine gute Folgefrage zu sein, die man stellen sollte.