/char switch

El modificador /char ayuda a garantizar que el compilador MIDL y el compilador de C funcionen correctamente para todos los tipos char y pequeños .

midl /char { signed | unsigned | ascii7 }

Opciones de modificador

Firmado

Especifica que el tipo de compilador de C predeterminado para char está firmado. Todas las apariciones de char no acompañadas de una especificación de signo se generan como caracteres sin signo.

Unsigned

Especifica que el tipo de compilador de C predeterminado para char no tiene signo. Todos los usos de pequeño no acompañado de una especificación de signo se generan como pequeños firmados.

ascii7

Especifica que todos los valores char se van a pasar a los archivos generados sin una palabra clave de signo específica. Todos los usos de pequeño no acompañado de una especificación de signo se generan como pequeños.

Comentarios

Por definición, MIDL char no tiene signo. "Small" se define en términos de char (#define char pequeño) y MIDL small está firmado.

El modificador /char dirige al compilador MIDL para especificar declaraciones explícitas firmadas o sin firmar en los archivos generados cuando la declaración de signo del compilador de C entra en conflicto con el valor predeterminado MIDL para ese tipo.

Recuerde que el compilador MIDL genera los códigos auxiliares como código fuente de C, que debe compilar como parte de los programas cliente y servidor. Algunos compiladores usan un carácter firmado en todas partes los datos char se especifican en el código fuente. El código fuente de código auxiliar que genera el compilador MIDL trata todos los datos char como caracteres sin firmar. Si el compilador MIDL simplemente generó todos los datos char del archivo IDL como datos char en los códigos auxiliares, los compiladores que usan un carácter firmado para los datos char provocarían un conflicto en el código fuente del código auxiliar.

El propósito del modificador de línea de comandos /char es resolver estos posibles conflictos. Conserva todos los datos especificados como char en el archivo IDL como caracteres sin firmar en el código fuente de código auxiliar. También mantiene datos pequeños como firmados.

En la tabla siguiente se resumen los tipos generados.

midl /char option Tipo de carácter generado Tipo pequeño generado
midl /char signed unsigned char small
midl /char unsigned char con signo pequeño
midl /char ascii7 char small

 

La opción /char signed indica que el carácter del compilador de C y los tipos pequeños están firmados. Para que coincida con el valor predeterminado de MIDL para char, el compilador MIDL debe convertir todos los usos de char no acompañados de una especificación de signo en unsigned char. El tipo pequeño no se modifica porque este valor predeterminado del compilador de C coincide con el valor predeterminado MIDL para small.

La opción /char unsigned indica que el tipo char del compilador de C no tiene signo. El compilador MIDL convierte todos los usos de small no acompañados de una especificación de signo en signedsmall.

La opción ascii7 indica que no se agrega ninguna especificación de signo explícita a los tipos char . El tipo pequeño se genera como pequeño.

Para evitar confusiones, debe usar especificaciones de signo explícitas para los tipos char y small siempre que sea posible en el archivo IDL. Tenga en cuenta que el uso de tipos char firmados explícitamente en el archivo IDL no es compatible con DCE IDL. Por lo tanto, esta característica no está disponible cuando se compila con el modificador /osf MIDL.

Para obtener más información relacionada con /char, vea small.

Ejemplos

midl /char signed filename.idl

midl /char unsigned filename.idl

midl /char ascii7 filename.idl

Vea también

Char

Sintaxis general de la línea de comandos de MIDL

/osf

Pequeño