| |
C-Sprache, die das Diagramm für breite Zeichenketten Aug. 1997 abbildet 1-17 1 sinf s2 = NULL; Zwei Zeichenkettearten sind die gleiche Art, wenn ihre Größenargumente identisch sind. Z.B. /*c*/ lange GRÖSSE des const = 25; typedefstring<SIZE > -sx; typedef string<25 > sy; erklärt sx und sy sein von der gleichen Art. Vor dem Führen von s1 oder s2 als in Parameter, der Programmierer muß die Adresse zuweisen vom Buchstaben beendete ein Puffer, der ein 0-byte enthält, Zeichenkette zur Variable. Der Anrufer kann nicht einen ungültigen Zeiger als das Zeichenketteargument führen. Vor dem Führen von &s1 oder &s2 als Heraus Parameter (oder Empfangen von a sten oder sinf als Rückholresultat), der Programmierer tut nichts. Der Klientenstummel teilt Ablage für zu der Rücksprungpuffer; für gesprungene Zeichenketten teilt er einen Puffer der spezifizierten Größe, während zu für unbegrenzte Zeichenketten teilt er einen Puffer zu, der genug, um die zurückgebrachte Zeichenkette zu halten groß ist. Nach erfolgreicher Rückkehr von der Anforderung, enthält der Buchstabenzeiger Adresse des zugeteilten Puffers. Der Klient ist für das Freigeben zugeteilt verantwortlich Ablage, CORBA_free() verwendend . Vor dem Führen von &s1 oder &s2 als inout Parameter, der Programmierer muß zuweisen Adresse eines Buchstabenpuffers, der ein 0-byte enthält, beendete Reihe zur Variable. Wenn zurückgebrachte Zeichenkette ist größer, als der ursprüngliche Puffer, der Klientenstummel benennt CORBA_free() auf der ursprünglichen Zeichenkette und teilen Sie einen neuen Puffer für die neue Zeichenkette zu. Der Klient sollte ein inout folglich nie führen Zeichenketteparameter, der nicht zugeteilt wurde Verwenden von CORBA_string_alloc . Der Klient ist für das Freigeben zugeteilt verantwortlich Ablage, CORBA_free() verwendend unabhängig davon, ob oder nicht eine Neuverteilung war notwendig. Zeichenketten werden dynamisch mit der folgenden ORB-gelieferten Funktion zugeteilt: /*c*/ CORBA_char * CORBA_string_alloc(CORBA_unsigned_long len); Diese Funktion teilt len+1 zu Bytes, genug zum Halten der Zeichenkette und seines Beendens NUL-Buchstabe. Die Zeichenketten, die in dieser Weise zugeteilt werden, werden mit CORBA_free() freigegeben . 1,13 Diagramm für breite Zeichenketten Das Diagramm für breite Zeichenketten ist dem der Zeichenketten ähnlich, außer daß (1) sind breite Zeichenketten abgebildet zu ungültig-beendet (Anmerkung: Reihen eines breite Null) Breitbuchstabens anstelle von 0-byte beendete Buchstabenreihen; und (2) sind breite Zeichenketten das dynamisch zugeteilte Verwenden ORB-gelieferte Funktion: |  |
|
| |
|
|