Importazione da C: funzioni supportate

In questa sezione vengono descritti i valori predefiniti utilizzati dal programma di importazione durante la mappatura dei tipi dati C ai tipi dati MRM.

Nella tabella riportata di seguito viene descritta la modalità di condizionamento delle definizioni C sulle impostazioni dello schema XML nel modello messaggio. In alcuni tipi xsd è presente "-" dopo il tipo. Ciò indica che si tratta di un tipo semplice anonimo basato su tale tipo. Per le stringhe, lo scopo del tipo anonimo è aggiungere una restrizione di lunghezza; per i tipi numerici, lo scopo è aggiungere una restrizione di valore minima e/o massima.

Il tipo di dati di struttura dei dati compressi è al di fuori dell'ambito del programma di importazione C.

Tipo dati C Tipo logico Note
Char xsd:string- Lunghezza = 1
Char[10] xsd:string- Lunghezza = 10
Char[10][3] xsd:string- Lunghezza = 3
Char[10][3][6] xsd:string- Lunghezza = 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  
Breve xsd:short  
Unsigned Short xsd:unsignedShort  
Long xsd:int  
Long Long Int xsd:long  
Float xsd:float  
Double xsd:double  
Long Double (vedere la nota 1) xsd:double  
<qualsiasi tipo di puntatore> xsd:hexBinary- Lunghezza = (vedere la nota 2)
<qualsiasi numerazione>   (vedere la nota 3)

Nella tabella riportata di seguito viene descritta la modalità di condizionamento delle definizioni C sulle funzioni CWF fisiche degli elementi creati nel modello messaggio.

Tipo dati C Tipo fisico CWF Funzioni lunghezza CWF Altre funzioni CWF
Char Lunghezza fissa Conteggio lunghezza = 1

Unità di lunghezza = byte

 
Char[10] Lunghezza fissa Conteggio lunghezza = 10

Unità di lunghezza = byte

Giustificazione a sinistra
Char[10][3] Lunghezza fissa Conteggio lunghezza = 3

(e numero massimo ricorrenze = 10)

Unità di lunghezza = byte

Giustificazione a sinistra
Char[10][3][6] Lunghezza fissa Conteggio lunghezza = 6

(e numero massimo ricorrenze = 30)

Unità di lunghezza = byte

Giustificazione a sinistra
Unsigned Char Numero intero Conteggio lunghezza = 1 Segnato = no
Unsigned Char[2] Numero intero Conteggio lunghezza = 1

(e numero massimo ricorrenze = 2)

Segnato = no
Signed Char Numero intero Conteggio lunghezza = 1 Segnato = sì
Signed Char[2] Numero intero Conteggio lunghezza = 1

(e numero massimo ricorrenze = 2)

Segnato = sì
Int Numero intero Conteggio lunghezza = 4 Segnato = sì
Int[2] Numero intero Conteggio lunghezza = 4

(e numero massimo ricorrenze = 2)

Segnato = sì
Int[2][3] Numero intero Conteggio lunghezza = 4

(e numero massimo ricorrenze = 6)

Segnato = sì
Unsigned Int Numero intero Conteggio lunghezza = 4 Segnato = no
Breve Numero intero Conteggio lunghezza = 2 Segnato = sì
Unsigned Short Numero intero Conteggio lunghezza = 2 Segnato = no
Long Numero intero Conteggio lunghezza = 4 (vedere la nota 4) Segnato = sì
Long Long Int Numero intero Conteggio lunghezza = 8 Segnato = sì
Float Float Conteggio lunghezza = 4  
Double Float Conteggio lunghezza = 8  
Long Double (vedere la nota 1) Float Conteggio lunghezza = 8  
<qualsiasi tipo di puntatore>   (vedere la nota 2)  
<qualsiasi numerazione> Numero intero (vedere la nota 3)  
Note:
  1. Non impostare il valore dell'opzione del programma di importazione C Dimensione per long double su 128 bit. L'importazione non verrà effettuata con esito positivo. Utilizzare il valore predefinito 64 bit.
  2. Il conteggio lunghezza è interessato dall'opzione del programma di importazione C Dimensione indirizzo come riportato di seguito:
    • Per 32 bit, conteggio lunghezza CWF = 4 byte.
    • Per 64 bit, conteggio lunghezza CWF = 8 byte.
  3. Il tipo e la lunghezza di una numerazione sono interessati dall'opzione del programma di importazione C Dimensione enum come riportato di seguito:
    • Per 1: tipo logico = xsd:byte, tipo fisico CWF = numero intero, conteggio lunghezza CWF = 1 byte.
    • Per 2: tipo logico = xsd:short, tipo fisico CWF = numero intero, conteggio lunghezza CWF = 2 byte.
    • Per 4: tipo logico = xsd:int, tipo fisico CWF = numero intero, conteggio lunghezza CWF = 4 byte.
    • Per Compatto: viene scelta la rappresentazione minima in grado di ospitare la numerazione.
  4. La lunghezza di long è interessata dall'opzione del programma di importazione C Dimensione indirizzo come riportato di seguito:
    • Per 32 bit: conteggio lunghezza CWF = 4 byte.
    • Per 64 bit: conteggio lunghezza CWF = 8 byte.
  5. I nomi degli elementi in conflitto con le parole chiave in linguaggio Java sono modificati con un prefisso dotato di un trattino basso singolo.
  6. La parola chiave _Packed non è supportata. Solo le dichiarazioni C in ANSI sono supportate.
  7. Il tipo di dati C long non è supportato.
  8. Le estensioni orientate degli oggetti C++ non sono supportate. Solo le dichiarazioni C in ANSI sono supportate.
  9. I puntatori verranno importati come xsd:integer con il conteggio lunghezza CWF impostato su 4.
  10. Le strutture C ricorsive non sono supportate. Se in una struttura nidificata è contenuta una struttura con un nomeuguale a quello della struttura parent, l'importazione ha esito positivo ma le definizioni logiche non sono corrette. Per evitare tale problema, accertarsi che il nome della struttura nidificata non sia uguale a quello della struttura esterna o parent.
Concetti correlati
Creazione di modelli di messaggio
Il modello di messaggio
Attività correlate
Sviluppo di modelli di messaggio
Gestione di un file di definizione dei messaggi
Gestione degli oggetti del modello messaggio
Riferimenti correlati
Informazioni di riferimento del modello di messaggio
Proprietà dell'oggetto modello di messaggio
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ad06890_