Importación de C: características soportadas

Este apartado describe los valores por omisión que el importador C utiliza al correlacionar tipos de datos C con tipos de datos MRM.

La tabla que aparece más abajo muestra cómo influyen las definiciones C en los valores de esquema XML del modelo de mensaje. Algunos tipos xsd tienen "-" después del tipo. Esto indica que se trata de un tipo simple anónimo basado en este tipo. Para las series de caracteres, la finalidad del tipo anónimo es añadir una limitación de longitud; para los tipos numéricos, la finalidad es añadir una limitación de valor mínimo y/o máximo.

El tipo de datos de la estructura de datos empaquetado está fuera del ámbito del importador C.

Tipo de datos C Tipo lógico Notas
Char xsd:string- length=1
Char[10] xsd:string- length=10
Char[10][3] xsd:string- length=3
Char[10][3][6] xsd:string- length=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 (vea la nota 1) xsd:double  
<cualquier tipo de puntero> xsd:hexBinary- length=(vea la nota 2)
<cualquier enum>   (vea la nota 3)

La tabla siguiente muestra cómo las definiciones C influyen en las características físicas CWF de los elementos generados en el modelo de mensaje.

Tipo de datos C Tipo físico CWF Características de longitud CWF Otras características CWF
Char Longitud fija Cuenta de longitud = 1

Unidades de longitud = Bytes

 
Char[10] Longitud fija Cuenta de longitud = 10

Unidades de longitud = Bytes

Justificado por la izquierda
Char[10][3] Longitud fija Cuenta de longitud = 3

(y Máx apariciones = 10)

Unidades de longitud = bytes

Justificado por la izquierda
Char[10][3][6] Longitud fija Cuenta de longitud = 6

(y Máx apariciones = 30)

Unidades de longitud = bytes

Justificado por la izquierda
Unsigned Char Entero Cuenta de longitud = 1 Con signo = no
Unsigned Char[2] Entero Cuenta de longitud = 1

(y Máx apariciones = 2)

Con signo = no
Signed Char Entero Cuenta de longitud = 1 Con signo = yes
Signed Char[2] Entero Cuenta de longitud = 1

(y Máx apariciones = 2)

Con signo = yes
Int Entero Cuenta de longitud = 4 Con signo = yes
Int[2] Entero Cuenta de longitud = 4

(y Máx apariciones = 2)

Con signo = yes
Int[2][3] Entero Cuenta de longitud = 4

(y Máx apariciones = 6)

Con signo = yes
Unsigned Int Entero Cuenta de longitud = 4 Con signo = no
Short Entero Cuenta de longitud = 2 Con signo = yes
Unsigned Short Entero Cuenta de longitud = 2 Con signo = no
Long Entero Cuenta de longitud = 4 (vea la nota 4) Con signo = yes
Long Long Int Entero Cuenta de longitud = 8 Con signo = yes
Float Float Cuenta de longitud = 4  
Double Float Cuenta de longitud = 8  
Long Double (vea la nota 1) Float Cuenta de longitud = 8  
<cualquier tipo de puntero>   (vea la nota 2)  
<cualquier enum> Entero (vea la nota 3)  
Notas:
  1. No establezca el valor de la opción del importador C tamaño de largo doble en 128 bits. Este valor no realizará la importación satisfactoriamente. Utilice el valor por omisión de 64 bits.
  2. La cuenta de longitud se ve afectada por la opción de importador C Tamaño de direcciones como se indica a continuación:
    • Para 32 bits, cuenta de longitud CWF = 4 bytes.
    • Para 64 bits, cuenta de longitud CWF = 8 bytes.
  3. El tipo y la longitud de una enum (enumeración) se ven afectados por la opción de importador C Tamaño de enum (enumeración) como se indica a continuación:
    • Para 1: Tipo lógico = xsd:byte, Tipo físico CWF = Entero, Cuenta de longitud CWF = 1 byte.
    • Para 2: Tipo lógico = xsd:short, Tipo físico CWF = Entero, Cuenta de longitud CWF = 2 bytes.
    • Para 4: Tipo lógico = xsd:int, Tipo físico CWF = Entero, Cuenta de longitud CWF = 4 bytes.
    • Para Condensada: Se elige la representación más pequeña en la que cabe la enumeración.
  4. La longitud de un long se ve afectada por la opción de importador C Tamaño de direcciones como se indica a continuación:
    • Para 32 bits: cuenta de longitud CWF = 4 bytes.
    • Para 64 bits: cuenta de longitud CWF = 8 bytes.
  5. Los nombres de elemento que están en conflicto con las palabras clave de lenguaje Java se modifican poniendo un carácter de subrayado individual como prefijo.
  6. No se soporta la palabra clave _Packed. Sólo se soportan las declaraciones C ANSI.
  7. No se soporta el tipo de datos C long long.
  8. No se soportan las extensiones orientadas a objetos C++. Sólo se soportan las declaraciones C ANSI.
  9. Los punteros se importarán como xsd:integer con la cuenta de longitud CWF establecida en 4.
  10. No se soportan las estructuras C recurrentes. Si una estructura anidada contiene una estructura con un nombre que es igual que el de la estructura padre, la importación se realizará satisfactoriamente pero las definiciones lógicas no serán correctas. Para evitar este problema, asegúrese de que el nombre de la estructura anidada no sea el mismo que el de la estructura padre o más externa.
Conceptos relacionados
Modelado de mensajes
El modelo de mensaje
Tareas relacionadas
Desarrollo de modelos de mensaje
Cómo trabajar con un archivo de definición de mensajes
Cómo trabajar con objetos de modelo de mensaje
Referencia relacionada
Información de referencia de modelo de mensaje
Propiedades de objeto de modelo de mensaje
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad06890_