| |
Die C-Sprache, die das Diagramm für Reihenfolge abbildet, schreibt Aug. 1997 1-13 1 CORBA_long x; CORBA_float y; CORBA_char z; } _ u; } Foo; Der Modulationsumwandler im struct gekennzeichnet immer als _ d der Anschluß im struct ist immer gekennzeichnet als _ u. Hinweis auf Anschlußelementen ist wie in normalem C: /*c*/ Foo * v; /* bilden Sie einen Anruf, der einen Zeiger zu einem Foo in v-zurückbringt */ switch(v->_d) { Fall 1: printf("x = %ld\n ", v->_u.x); Bruch; Fall 2: printf("y = %f\n ", v->_u.y); Bruch; Rückstellung: printf("z = %c\n ", v->_u.z); Bruch; } Eine ORB-Implementierung braucht, nicht einen c- Anschluß zu benutzen den Anschluß OMG IDL halten Elemente; ein c-struct kann anstatt benutzt werden. In jedem Fall macht der Programmierer zugänglich Anschlußelemente über das _ u Mitglied. 1,11 Diagramm für Reihenfolgenarten Die Datenart- Reihenfolge OMG IDL ermöglicht das Überschreiten der unbegrenzten Reihen zwischen Gegenstände. Betrachten Sie die folgende Erklärung OMG IDL: // IDL typedefsequence<long, 10 > vec10; In C wird dieses in umgewandelt: /*c*/ typedefstruct { CORBA_unsigned_long-_ Maximum; CORBA_unsigned_long-_ Länge; CORBA_long * _ Puffer; } vec10; Ein Fall dieser Art wird erklärt, wie folgt: /*c*/ vec10 x = { 10L, 0L, (CORBA_long *)null); Vor dem Führen von &x als in Parameter, der Programmierer muß den _ Puffer einstellen Mitglied zum Punkt zu einem CORBA_long Reihe von 10 Elementen und muß die _ Länge einstellen Mitglied zur tatsächlichen Zahl zu übertragenden den Elementen. |  |
|
| |
|
|