Aus C importieren: unterstützte Funktionen

In diesem Kapitel werden die vom C-Importprogramm verwendeten Standardeinstellungen erläutert, mit denen C-Datentypen zu MRM-Datentypen zugeordnet werden.

In der nachfolgenden Tabelle wird dargestellt, wie sich die C-Definitionen auf die XML-Schemaeinstellungen im Nachrichtenmodell auswirken. Bei einigen xsd-Typen steht '-' nach dem Typ. Dies bedeutet, dass es sich um einen anonymen einfachen Typ handelt, der auf diesem Typ basiert. Bei Zeichenfolgen besteht der Zweck des anonymen Typen darin, eine Längenbeschränkung hinzuzufügen; der Zweck von numerischen Typen liegt darin, eine Einschränkung des Mindestwertes und/oder des Höchstwertes hinzuzufügen.

Der Datentyp 'Gepackte Datenstruktur' liegt außerhalb des Umfangs des C-Importprogramms.

C-Datentyp Logischer Typ Hinweise
Char xsd:string- Länge=1
Char[10] xsd:string- Länge=10
Char[10][3] xsd:string- Länge=3
Char[10][3][6] xsd:string- Länge=6
Unsigned Char xsd:unsignedByte  
Unsigned Char[2] xsd:unsignedByte  
Signed Char xsd:byte  
Signed Char[2] xsd:byte  
Int xsd:int  
Int[2] xsd:int  
Int[2][3] xsd:int  
Unsigned Int xsd:unsignedInt  
Short xsd:short  
Unsigned Short xsd:unsignedShort  
Long xsd:int  
Long Long Int xsd:long  
Float xsd:float  
Double xsd:double  
Long Double (siehe Hinweis 1) xsd:double  
<beliebiger Zeigertyp> xsd:hexBinary- Länge=(siehe Hinweis 2)
<beliebige Aufzählung>   (siehe Hinweis 3)

In der nachfolgenden Tabelle wird dargestellt, wie sich die C-Definitionen auf die physischen CWF-Eigenschaften der im Nachrichtenmodell generierten Elemente auswirken.

C-Datentyp Physischer CWF-Typ CWF-Längenmerkmale Sonstige CWF-Merkmale
Char Feste Länge Längenzähler = 1

Längeneinheiten = Byte

 
Char[10] Feste Länge Längenzähler = 10

Längeneinheiten = Byte

Linksbündig ausrichten
Char[10][3] Feste Länge Längenzähler = 3

(und maximale Anzahl = 10)

Längeneinheiten = Byte

Linksbündig ausrichten
Char[10][3][6] Feste Länge Längenzähler = 6

(und maximale Anzahl = 30)

Längeneinheiten = Byte

Linksbündig ausrichten
Unsigned Char Ganzzahl Längenzähler = 1 Signiert = nein
Unsigned Char[2] Ganzzahl Längenzähler = 1

(und maximale Anzahl = 2)

Signiert = nein
Signed Char Ganzzahl Längenzähler = 1 Signiert = ja
Signed Char[2] Ganzzahl Längenzähler = 1

(und maximale Anzahl = 2)

Signiert = ja
Int Ganzzahl Längenzähler = 4 Signiert = ja
Int[2] Ganzzahl Längenzähler = 4

(und maximale Anzahl = 2)

Signiert = ja
Int[2][3] Ganzzahl Längenzähler = 4

(und maximale Anzahl = 6)

Signiert = ja
Unsigned Int Ganzzahl Längenzähler = 4 Signiert = nein
Short Ganzzahl Längenzähler = 2 Signiert = ja
Unsigned Short Ganzzahl Längenzähler = 2 Signiert = nein
Long Ganzzahl Längenzähler = 4 (siehe Hinweis 4) Signiert = ja
Long Long Int Ganzzahl Längenzähler = 8 Signiert = ja
Float Float Längenzähler = 4  
Double Float Längenzähler = 8  
Long Double (siehe Hinweis 1) Float Längenzähler = 8  
<beliebiger Zeigertyp>   (siehe Hinweis 2)  
<beliebige Aufzählung> Ganzzahl (siehe Hinweis 3)  
Hinweise:
  1. Setzen Sie den Wert der Option Größe von LONG DOUBLE des C-Importprogramms nicht auf 128 Bit. Der Import kann dann nicht erfolgreich ausgeführt werden. Verwenden Sie den Standardwert von 64 Bit.
  2. Die Option Adressgröße des C-Importprogramms wirkt sich wie folgt auf den Längenzähler aus:
    • Bei 32 Bit ergibt der CWF-Längenzähler = 4 Byte.
    • Bei 64 Bit ergibt der CWF-Längenzähler = 8 Byte.
  3. Die Option Aufzählungsgröße des C-Importprogramms wirkt sich wie folgt auf den Typ und die Länge einer Aufzählung aus:
    • Bei 1: Logischer Typ = xsd:byte, Physischer CWF-Typ = Ganzzahl, CWF-Längenzähler = 1 Byte.
    • Bei 2: Logischer Typ = xsd:short, Physischer CWF-Typ = Ganzzahl, CWF-Längenzähler = 2 Byte.
    • Bei 4: Logischer Typ = xsd:int, Physischer CWF-Typ = Ganzzahl, CWF-Längenzähler = 4 Byte.
    • Bei Kompakt: Es wird die kleinste Darstellung gewählt, die auf die Aufzählung angewendet werden kann.
  4. Die Option Adressgröße des C-Importprogramms wirkt sich wie folgt auf die Länge des Datentyps Long aus:
    • Bei 32 Bit: CWF-Längenzähler = 4 Byte.
    • Bei 64 Bit: CWF-Längenzähler = 8 Byte.
  5. Elementnamen, die im Konflikt mit Schlüsselwörtern der Java-Programmiersprache stehen, werden geändert, indem ihnen ein einzelner Unterstrich als Präfix vorangestellt wird.
  6. Das Schlüsselwort _Packed wird nicht unterstützt. Es werden nur ANSI C-Deklarationen unterstützt.
  7. Der C-Datentyp LONG LONG wird nicht unterstützt.
  8. Objektorientierte C++-Erweiterungen werden nicht unterstützt. Es werden nur ANSI C-Deklarationen unterstützt.
  9. Zeiger werden als xsd:integer mit dem CWF-Längenzähler 4 importiert.
  10. Rekursive C-Strukturen werden nicht unterstützt. Wenn eine verschachtelte Struktur eine Struktur enthält, die denselben Namen wie die übergeordnete Struktur hat, ist der Import zwar erfolgreich, aber die logischen Definitionen sind nicht korrekt. Um dieses Problem zu vermeiden, müssen Sie sicher stellen, dass der Name der verschachtelten Struktur nicht mit dem der äußersten oder übergeordneten Struktur identisch ist.
Zugehörige Konzepte
Nachrichten modellieren
Das Nachrichtenmodell
Zugehörige Tasks
Nachrichtenmodelle entwickeln
Mit Nachrichtendefinitionsdateien arbeiten
Mit Nachrichtenmodellobjekten arbeiten
Zugehörige Verweise
Nachrichtenmodellverweisinformationen
Eigenschaften von Nachrichtenmodellobjekten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ad06890_