Share via


Habilitación de STRICT

Al definir el símbolo STRICT , se habilitan las características que requieren más cuidado en la declaración y el uso de tipos. Esto le ayuda a escribir código más portátil. Este cuidado adicional también reducirá el tiempo de depuración. Al habilitar STRICT, se vuelven a definir determinados tipos de datos para que el compilador no permita la asignación de un tipo a otro sin una conversión explícita. Esto es especialmente útil con el código de Windows. Los errores al pasar tipos de datos se notifican en tiempo de compilación en lugar de provocar errores irrecuperables en tiempo de ejecución.

Con Visual C++, la comprobación de tipos STRICT se define de forma predeterminada.

Para definir STRICT en un archivo por archivo, inserte una instrucción #define antes de incluir Windows.h:

#define STRICT
#include <windows.h>

Cuando se define STRICT , las definiciones de tipo de datos cambian de la siguiente manera:

  • Los tipos de identificador específicos se definen para ser mutuamente excluyentes; por ejemplo, no podrá pasar un HWND donde se requiera un argumento de tipo HDC . Sin STRICT, todos los identificadores se definen como HANDLE, por lo que el compilador no le impide usar un tipo de identificador donde se espera otro tipo.
  • Todos los tipos de función de devolución de llamada (como procedimientos de diálogo, procedimientos de ventana y procedimientos de enlace) se definen con prototipos completos. Esto evita que declare funciones de devolución de llamada con listas de parámetros incorrectas.
  • Los tipos de valor de parámetro y valor devuelto que deben usar un puntero genérico se declaran correctamente como LPVOID en lugar de como LPSTR u otro tipo de puntero.
  • La estructura COMSTAT se declara según el estándar ANSI.

Deshabilitar STRICT

Cumplimiento estricto