Compartir a través de


Tipos firmados y sin firmar (MIDL)

Los compiladores que usan valores predeterminados diferentes para los tipos firmados y sin firmar pueden provocar errores de software en la aplicación distribuida. Puede evitar estos problemas declarando explícitamente los tipos de caracteres como firmados o sin firmar. Tenga en cuenta que los compiladores IDL de DCE no reconocen la palabra clave firmada. Por lo tanto, esta característica no está disponible cuando se usa el modificador /osf del compilador MIDL.

MIDL define el tipo pequeño para tomar el mismo signo predeterminado que el tipo char en el compilador de C de destino. Si el compilador supone que char no tiene signo, small también se definirá como sin signo. Muchos compiladores de C permiten cambiar el valor predeterminado como una opción de línea de comandos. Por ejemplo, en el entorno de desarrollo de Microsoft Visual C++, la opción de línea de comandos /J cambia el signo predeterminado de char de signed a unsigned.

También puede controlar el signo de variables de tipo char y small con el modificador de línea de comandos /char del compilador MIDL. Este modificador permite especificar el signo predeterminado que usa el compilador. El compilador MIDL declara explícitamente el signo de todos los tipos char que no coinciden con el tipo predeterminado del compilador de C en el archivo de encabezado generado.