Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - DEALLOCATE

Referenz-Navigation

 

Syntax: DEALLOCATE Pointer
Typ: Anweisung
Kategorie: Speicher

DEALLOCATE gibt einen mit BefehlsreferenzeintragALLOCATE reservierten Speicher wieder frei.

'Pointer' ist ein BefehlsreferenzeintragPointer auf den Beginn des freizugebenden Speicherbereichs.

Der Bezeichner des Pointers muss nicht derselbe sein wie der, mit dem der Speicherbereich alloziert wurde; lediglich die Adresse muss dieselbe sein.

Es wird empfohlen, den Pointer sofort null zu setzen, sobald der Speicherbereich freigegeben wurde, um zu verhindern, dass immer noch darauf zugegriffen wird.

DEALLOCATE ist kein Teil der FreeBASIC Runtime Library, sondern ein Alias von Externer Link!free der C-Lib.
Achtung: Es kann nicht garantiert werden, dass diese Funktion auf allen Plattformen Multithreading unterstützt, d.h. thread-safe ist. Unter Windows und Linux sind aktuell durch die verwendeten Implementationen der Betriebssysteme aber keine Probleme zu erwarten.

Beispiel:

DIM AS INTEGER PTR p1, p2

' 4 Bytes reservieren
p1 = ALLOCATE(4)

' p2 soll auf denselben Speicherbereich zeigen
p2 = p1

' den Speicherbereich wieder freigeben; er wurde
' mit p1 erstellt, kann aber mit p2 freigegeben
' werden, da beide auf dieselbe Adresse zeigen.
DEALLOCATE p2

' p1 auf null setzen, um zu verhindern, dass auf
' den inzwischen freigegebenen Speicher
' zugegriffen wird
p1 = 0

Unterschiede zu QB: neu in FreeBASIC

Plattformbedingte Unterschiede:
Es kann nicht garantiert werden, dass die Prozedur auf allen Plattformen thread-safe ist.

Unterschiede unter den FB-Dialektformen:
In der Dialektform Befehlsreferenzeintrag-lang qb steht DEALLOCATE nicht zur Verfügung und kann nur über __DEALLOCATE aufgerufen werden.

Siehe auch:
BefehlsreferenzeintragALLOCATE, BefehlsreferenzeintragCALLOCATE, BefehlsreferenzeintragREALLOCATE, BefehlsreferenzeintragPointer, BefehlsreferenzeintragSpeicher


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 17.07.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 05.04.2014 von RedakteurMOD gespeichert.
  Versionen Versionen