GC lernfähig?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Der Eisvogel

Betreff: GC lernfähig?

BeitragMo, Aug 16, 2010 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ist es möglich dem GC etwas bei zu bringen? Also ich arbeite derzeit viel mit den WinAPI. Das erstelle ich viele Sachen, die ich anschließend wieder löschen möchte. Kann man dem GC jetzt beibringen, dass sobald kein Verweis mehr auf das bestimmte Element vorliegt, dass er dann eine von mir vorgegeben Funktion aufruft um dieses Elemnt zu löschen.

Ich würde mir das so vorstellen:
BlitzMax: [AUSKLAPPEN]
AddGCObject(Object:Int, ReleaseFunc)


Und dann soll er sobal ich keinen Verweis mehr auf "object" habe "ReleaseFunc" mit "object" als Parameter aufrufen.
Wäre cool wenn das geht.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

BtbN

BeitragMo, Aug 16, 2010 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, geht nicht.

FireballFlame

BeitragMo, Aug 16, 2010 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt die Delete-Methode, die aufgerufen wird, wenn der GC ein Objekt aufräumt, falls dir das hilft.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

BtbN

BeitragMo, Aug 16, 2010 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Wird ihm wohl kaum helfen, da es sich bei einem per MemAlloc geholten speicherblock nicht um ein Objekt handelt.
Einzige lösung wäre vllt. ein Wrapper-Objekt, was bei Delete automatisch den Speicher freet. Ist aber gefährlich, weil das nicht in abstimmung mit der Winapi geschieht, oder sonst welcher Lib.

Der Eisvogel

BeitragDi, Aug 17, 2010 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie genau geht das mit dieser Delete-Methode? Ich hab die irgendwie nicht gefunden. Wie spricht man diese an? Vielleicht könnte sie mir doch nützlich sein.

EDIT: Hehe habs rausgefunden. Diese Methode kenne ich schon seitdem ich in BM programmiere. Jetzt habe ich begriffen wofür diese ist. Danke euch beiden. Jetzt kann ich mir so ne Art eigenen GC schreiben mit meiner Oben genannten Funktion.
Und wenn die mal nicht mehr ausreichen sollte, dann kann ich mir immernoch für die WinAPI Wrapper scheiben.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group