| |
1-54 COBOLCSprache, die Aktualisierten Juni 1999 Abbildet 1 1,22,2,2 inoutparameter gesprungene und geregelte Längenparameter Alle grundlegenden Arten, örtlich festgelegten Längenstrukturen und Anschlüße (unabhängig davon, ob sie waren dynamisch zugeteilt oder innerhalb der ARBEITSCAblage spezifiziert) werden direkt überschritten (sie brauchen nicht, Größe im Gedächtnis zu ändern). Parameter der unbegrenzten und variablen Länge Alle Arten, die eine andere Größe nach Rückkehr haben können, werden indirekt geführt. Anstelle von der Aktualparameter, der, ein Zeiger zum Parameter überschritten wird, wird geführt. Wenn es eine Art gibt deren Länge in der Größe ändern kann, sind etwas spezielle Betrachtungen erfordert. Z.B.; nehmen Sie an, daß der Benutzer in eine unbegrenzte Zeichenkette mit 10 Bytes wie überschreiten möchte ein inoutparameter. Dies tun, die Adresse eines Speicherbereichs, der zuerst groß ist genug zum Halten der 10 Buchstaben wird zum ORB geführt. Jedoch nach Beendigung von der Betrieb, das ORB kann finden, daß er eine Zeichenkette mit 20 Bytes zum Überschreiten zurück zu dem Anrufer hat. , um ihm zu ermöglichen, dieses zu erzielen, muß das ORB den Bereich freigeben, der auf durch gezeigt wird Adresse, die es empfing, einen größeren Bereich neu zuteilt, dann setzen den größeren Wert in das neue größerer Speicherbereich. Diese neue Adresse wird dann zurück zu dem Anrufer geführt. Für alle Strukturen, Anschlüße und Zeichenketten der variablen Länge, die in der Größe ändern können: Der Anrufer muß Ablage mit dem MEMALLOC zuerst dynamisch zuteilen arbeiten Sie und initialisieren Sie es direkt oder verwenden Sie eine passende Accessorfunktion, die wird herauf dynamisch teilen Sie zu Ablage (COBOL-xxx-set, der xxx die ist Art, die eingestellt wird). Der Zeiger zum inoutparameter wird geführt. Wenn der Anruf durchgeführt hat und der Benutzer hat den zurückgebrachten Parameter beendet Wert, der Anrufer ist für das Freigeben der Ablage verantwortlich. Dieses wird getan, indem man bildet ein Anruf zur "MEMFREE-" ORB-Funktion mit der gegenwärtigen Adresse im ZEIGER. 1,22,2,3 heraus und Rückholparameter Gesprungen Der Anrufer führt zuerst den Parameterbereich, in den der Wert des Heraus (oder Rückkehr) ist nach Rückkehr gesetzt werden. Unbegrenzt Für alle Reihenfolgen und Strukturen der variablen Länge, Anschlüße und Zeichenketten: Der Anrufer führt einen ZEIGER. Das ORB teilt Ablage für die Datenart der heraus oder Rückholwert zu, der zurückgegangen wird und setzen Sie dann seine Adresse in den Zeiger. Der Anrufer ist für das Freigeben der zurückgebrachten Ablage verantwortlich, wenn er nicht mehr ist erfordert durch das Verwenden eines Anrufs zur "MEMFREE-" ORB-Funktion, um sie freizugeben. |  |
|
| |
|
|