Herunterladen Inhalt Inhalt Diese Seite drucken

GFA BASIC 3.0 Bedienungsanleitung Seite 99

Inhaltsverzeichnis
Variablen und Speicherverwaltung
MALLOC(x)
MFREE(y)
MSHRINK(y,z)
X,¥,Z:
iexp
Die Funktion MALLOC (GEMDOS 72) dient der Reservierung (Allokie-
rung) von Speicherbereichen. Ist ihr Parameter x gleich -1, so meldet die
Funktion die Länge des größten zusammenhängenden freien Speicherbe-
reichs. In diesem Fall ist MALLOC also eine Nachfragefunktion.
Ist x eine positive Zahl, so bedeutet dies, daß x Bytes reserviert werden
sollen. In diesem Fall gibt MALLOC
die Anfangsadresse des reservierten
Speicherbereichs zurück. Trat beim Reservierungsversuch ein Fehler auf,
so wird 0 zurückgemeldet.
Wenn größere Speicherbereiche allokiert werden sollen, so muß zunächst
der von GFA-BASIC benutzte Speicherplatz mit RESERVE
verkleinert
werden. Allokierte Speicherbereiche sollten unbedingt vor der Beendigung
des Programms wieder freigegeben werden. Dies wird allerdings beim
Verlassen des Interpreters automatisch durchgeführt.
MFREE
(GEMDOS
73) gibt den mit MALLOC
reservierten Speicher-
platz wieder frei. Dabei steht in y die Anfangsadresse des freizugebenden
Speicherblocks, also ein bei MALLOC
erhaltener Rückgabewert. Der zu-
rückgemeldete Wert ist 0, wenn die Freigabe ohne Fehler abgeschlossen
werden konnte, oder eine negative Fehlernummer.
MSHRINK
(GEMDOS
74) verkleinert einen reservierten Speicherbe-
reich, der vorher mit MALLOC allokiert wurde. Der Parameter y enthält
dabei die Adresse des reservierten Speicherbereichs,
die bei MALLOC
2-45
Inhaltsverzeichnis
loading

Inhaltsverzeichnis