| |
C-Sprache, die Betrachtungen für konstruierte Arten Aug. 1997 abbildend abbildet 1-11 1 TypeCodes werden in Version 2,3 des allgemeinen Gegenstandantragvermittlers beschrieben: Architektur und Spezifikationen , Schnittstellenbehälter- Kapitel, Abschnitt TypeCodes. _ Wert Mitglied für irgendwelche ist ein Zeiger zum tatsächlichen Wert des Bezugspunktes. Merken Sie das dieses hält zutreffend, wenn der Bezugspunkt selbst als Zeiger eingeführt wird (z.B., im Fall von a CORBA-Zeichenkette, der _ Wert Mitglied würde ein Zeiger sein (CORBA_char-** zu string(CORBA_char * Die irgendwelche Art stützt den Begriff des Besitzes seines _ Wertes Mitglied. Durch die Einstellung von a geben Sie Markierungsfahne in irgendwie frei wenn ein Wert angebracht wird, können Programmierer Besitz steuern vom Gedächtnis zeigte auf durch _ Wert . Die Position dieser Freigabemarkierungsfahne ist Implementierung-abhängig, also die folgenden zwei ORB-gelieferten Funktionen lassen Sie zu Einstellung und Überprüfung von den irgendwelchen Freigabemarkierungsfahne: /*c*/ leeres CORBA_any_set_release(CORBA_any *, CORBA_boolean); CORBA_boolean CORBA_any_get_release(CORBA_any *); CORBA_any_set_release kann verwendet werden, den Zustand der Freigabemarkierungsfahne einzustellen. Wenn Markierungsfahne wird eingestellt, um AUSZURICHTEN die irgendwelche besitzt effektiv die Ablage, die auf durch _ Wert gezeigt wird wenn FALSCH , ist der Programmierer für die Ablage verantwortlich. Wenn z.B. irgendwelche ist zurückgegangen von einem Betrieb mit seiner Freigabemarkierungsfahne stellen Sie auf FALSCHES ein CORBA_free() benennend auf irgendwie zurückgebracht * gibt nicht das Gedächtnis frei, das auf durch _ Wert gezeigt wird . Vorher Benennen CORBA_free() auf dem _ Wert Mitglied von irgendeinem direkt der Programmierer Überprüfung die Freigabe wenn, kennzeichnen mit CORBA_any_get_release . Wenn sie FALSCHES zurückbringt der Programmierer sollte nicht CORBA_free() hervorrufen auf dem _ Wert Mitglied; so tun produziert unbestimmtes Verhalten. Auch einen ungültigen Zeiger zu irgendeinem führend CORBA_any_set_release oder CORBA_any_get_release produziert unbestimmtes Verhalten. Wenn CORBA_any_set_release wird nie einen gegebenen Fall von irgendwelchen verlangt die Rückstellung Wert der Freigabemarkierungsfahne für diesen Fall ist FALSCH . 1,8 Diagramm der Betrachtungen für konstruierte Arten Das Diagramm für OMG IDL strukturierte Arten (structs, Anschlüße, Reihen und Reihenfolgen) kann abhängig von etwas schwanken, ob die Datenstruktur längenkonstant ist oder Variable Länge . Eine Art ist mit variabler Länge wenn sie eine der folgenden Arten ist: Die Art irgendwie Eine gesprungene oder unbegrenzte Zeichenkette oder breite Zeichenkette Eine gesprungene oder unbegrenzte Reihenfolge Ein Gegenstandhinweis oder Hinweis auf einem transmissible Pseudo-Gegenstand Ein struct oder ein Anschluß, der ein Mitglied enthält, dessen Art mit variabler Länge ist Eine Reihe mit einer mit variabler Längeelementart Ein typedef zu einer mit variabler Längeart Der Grund für die reparierten und mit variabler Länge Datenstrukturen Behandelns soll anders als gewähren mehr Flexibilität in der Verteilung von heraus Parameter und Rückkehrwerte von Betrieb. Diese Flexibilität erlaubt einen Klient-Seitenstummel für einen Betrieb, der a zurückbringt Reihenfolge der Zeichenketten z.B. den ganzen Zeichenkettespeicher in einem Bereich zuteilen, der ist |  |
|
| |
|
|