Aus C importieren: unterstützte Funktionen

In diesem Abschnitt werden die Standardeinstellungen beschrieben, die das C-Importprogramm beim Zuordnen von C-Datentypen zu Nachrichtenmodellelementen verwendet.

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 dient der anonyme Typ dazu, eine maximale Längenbeschränkung hinzuzufügen; bei numerischen Typen dient er dazu, entweder eine Mindest- oder eine Maximalwertbeschränkung hinzuzufügen.

C-Datentyp XML-Schemadaten Hinweise
Char xsd:string- maxlength=1
Char[10] xsd:string- maxlength=10
Char[10][3] xsd:string- maxlength=3
Char[10][3][6] xsd:string- maxlength=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- maxlength=(siehe Hinweis 2)
<beliebige Aufzählung>   (siehe Hinweis 3)

Die folgende Tabelle zeigt, wie C-Definitionen die Merkmale des physischen MRM-Formats (CWF) der im Nachrichtenmodell generierten Elemente beeinflussen.

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

Längeneinheiten = Byte

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

Längeneinheiten = Byte

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

(und maximale Anzahl = 10)

Längeneinheiten = Byte

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

(und maximale Anzahl = 30)

Längeneinheiten = Byte

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

(und maximale Anzahl = 2)

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

(und maximale Anzahl = 2)

Signiert = ja
Int Ganzzahl Länge = 4 Signiert = ja
Int[2] Ganzzahl Länge = 4

(und maximale Anzahl = 2)

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

(und maximale Anzahl = 6)

Signiert = ja
Unsigned Int Ganzzahl Länge = 4 Signiert = nein
Short Ganzzahl Länge = 2 Signiert = ja
Unsigned Short Ganzzahl Länge = 2 Signiert = nein
Long Ganzzahl Länge = 4 (siehe Hinweis 4) Signiert = ja
Long Long Int Ganzzahl Länge = 8 Signiert = ja
Float Float Länge = 4  
Double Float Länge = 8  
Long Double (siehe Hinweis 1) Float Länge = 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 die Länge aus:
    • Bei 32 Bit: CWF-Länge = 4 Byte.
    • Bei 64 Bit: CWF-Länge = 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änge = 1 Byte.
    • Bei 2: Logischer Typ = xsd:short, Physischer CWF-Typ = Ganzzahl, CWF-Länge = 2 Byte.
    • Bei 4: Logischer Typ = xsd:int, Physischer CWF-Typ = Ganzzahl, CWF-Länge = 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änge = 4 Byte.
    • Bei 64 Bit: CWF-Länge = 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 CWF-Länge = 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 | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:37

ad06890_