| |
1-16 C-Sprache, die August 1997 Abbildet 1 // IDL sequence<sequence<long > > erzeugt eine Art von /*c*/ CORBA_sequence_sequence_long Diese erzeugten Artnamen können verwendet werden, um Fälle einer Reihenfolgenart zu erklären. Zusätzlich zum Zur Verfügung stellen einer Art-spezifischen Zuornungsanzahl-Funktion für jede Reihenfolge, ein ORB Implementierung muß eine Pufferzuornungsanzahl-Funktion für jede Reihenfolgenart zur Verfügung stellen. Diese Funktionen teilen Vektoren von Art T für sequence<T > zu . Sie werden an definiert globaler Bereich und werden ähnlich zu den Reihenfolgen genannt: /*c*/ T * CORBA_sequence_T_allocbuf(CORBA_unsigned_long len); Hier bezieht sich T auf den Artnamen. Für die Art // IDL sequence<sequence<long > > z.B. wird die Reihenfolgenpuffer-Zuornungsanzahl-Funktion genannt /*c*/ T * CORBA_sequence_sequence_long_allocbuf (CORBA_unsigned_long len); Die Puffer, die mit diesen Zuornungsanzahl-Funktionen zugeteilt werden, werden mit CORBA_free() freigegeben . 1,12 Diagramm für Zeichenketten Zeichenketten OMG IDL werden zu 0-byte beendeten Buchstabenreihen abgebildet (d.h., die Länge von die Zeichenkette wird in der Buchstabenreihe selbst durch die Plazierung des 0-byte kodiert). Merken Sie, daß die Ablage für c-Zeichenketten ein Byte länger als die angegebene Grenze OMG IDL ist. Betrachten Sie die folgenden Erklärungen OMG IDL: // IDL typedef string<10 > sten; typedefzeichenkettesinf; In C wird dieses in umgewandelt: /*c*/ typedef CORBA_char * sten; typedef CORBA_char * sinf; Fälle dieser Arten werden erklärt, wie folgt: /*c*/ sten s1 = NULL; |  |
|
| |
|
|