Ativando STRICT
Ao definir o símbolo STRICT, ativa recursos que exigem mais cuidado ao declarar e usar tipos. Isso ajuda você a escrever mais código portátil. Esse cuidado extra também reduzirá o tempo de depuração. Habilitar STRICT redefine certos tipos de dados para que o compilador não permita a atribuição de um tipo para outro sem uma conversão explícita. Isso é especialmente útil com o código do Windows. Erros na passagem de tipos de dados são relatados em tempo de compilação em vez de causar erros fatais em tempo de execução.
Com o Visual C++, verificação de tipo de STRICT é definida por padrão.
Para definir STRICT numa base arquivo a arquivo, insira uma instrução #define antes de incluir Windows.h:
#define STRICT
#include <windows.h>
Quando STRICT é definido, tipo de dados definições mudam da seguinte maneira:
- Os tipos específicos de alças são definidos para serem mutuamente exclusivos; por exemplo, o utilizador não poderá passar um HWND onde um argumento de tipo HDC é necessário. Sem STRICT, todos os handles são definidos como HANDLE, portanto, o compilador não impede que você use um tipo de handle quando se espera outro tipo.
- Todos os tipos de função de retorno de chamada (como procedimentos de diálogo, procedimentos de janela e procedimentos de gancho) são definidos com protótipos completos. Isso impede que você declare funções de retorno de chamada com listas de parâmetros incorretas.
- Os tipos de parâmetro e valor de retorno que devem usar um ponteiro genérico são declarados corretamente como LPVOID em vez de como LPSTR ou outro tipo de ponteiro.
- A estrutura COMSTAT é declarada de acordo com a norma ANSI.
Tópicos relacionados