Inhaltsverzeichnis:

Hat C einen Garbage Collector?
Hat C einen Garbage Collector?

Video: Hat C einen Garbage Collector?

Video: Hat C einen Garbage Collector?
Video: .NET Core Garbage Collection 2024, Dezember
Anonim

C tut nicht verfügen über automatisch Müllabfuhr . Wenn Sie einen Gegenstand aus den Augen verlieren, verfügen über was als "Speicherleck" bekannt ist. Der Speicher wird weiterhin dem Programm als Ganzes zugewiesen, aber nichts kann ihn verwenden, wenn Sie den letzten Zeiger darauf verloren haben. Die Verwaltung von Speicherressourcen ist eine wichtige Voraussetzung für C Programme.

Wird C-Müll gesammelt, wenn man dies berücksichtigt?

C++ braucht kein a Müllsammler , weil es keine hat Müll . In modernem C++ verwendet man Smart Pointer und hat daher keine Müll.

Und was ist die Aufgabe des Garbage Collectors? Müllsammler sind zuständig für sammeln und entfernen Abfall und wiederverwertbare Materialien zur Weiterverarbeitung. Typischer Job Aufgaben gelistet auf a Müllsammler Beispiel Lebenslauf ist in Betrieb Abfall Sammelfahrzeuge, die der ausgewiesenen Route folgen, sammeln ablehnen und den Vorgesetzten melden.

Was ist Garbage Collection C?

Müllabfuhr (GC) ist ein Mechanismus, der eine automatische Speicherrückgewinnung für nicht verwendete Speicherblöcke bereitstellt. Programmierer weisen Speicher dynamisch zu, aber wenn ein Block nicht mehr benötigt wird, müssen sie ihn nicht explizit mit einem free()-Aufruf an das System zurückgeben.

Wie macht man einen Müllsammler?

Der einfachste Weg, einen Garbage Collector zu implementieren, ist:

  1. Stellen Sie sicher, dass Sie die globalen Wurzeln zuordnen können.
  2. Stellen Sie sicher, dass Sie den Heap durchlaufen können, z. Jeder Wert im Heap ist ein Objekt, das eine Visit-Methode implementiert, die alle Verweise von diesem Objekt zurückgibt.
  3. Behalten Sie die Menge aller zugewiesenen Werte bei.

Empfohlen: