Aktivera STRICT
När du definierar symbolen STRICT aktiverar du funktioner som kräver mer försiktighet när du deklarerar och använder typer. Detta hjälper dig att skriva mer portabel kod. Den här extra omsorgen minskar också felsökningstiden. Om du aktiverar STRICT omdefinieras vissa datatyper så att kompilatorn inte tillåter tilldelning från en typ till en annan utan en explicit typomvandling. Detta är särskilt användbart med Windows-kod. Fel vid överföring av datatyper rapporteras vid kompileringstidpunkt istället för att leda till allvarliga fel vid körningstid.
Med Visual C++ definieras STRIKT typkontroll som standard.
Om du vill definiera STRIKT fil för fil infogar du en #define-instruktion innan du inkluderar Windows.h:
#define STRICT
#include <windows.h>
När STRICT definieras ändras definitioner av datatyp på följande sätt:
- Specifika handtagstyper definieras som ömsesidigt uteslutande. Du kan till exempel inte skicka ett HWND- där ett HDC- typargument krävs. Utan STRICTdefinieras alla handtag som HANDLE, så kompilatorn hindrar dig inte från att använda en typ av handtag där en annan typ förväntas.
- Alla typer av återanropsfunktioner (till exempel dialogprocedurer, fönsterprocedurer och krokprocedurer) definieras med fullständiga prototyper. Detta hindrar dig från att deklarera återanropsfunktioner med felaktiga parameterlistor.
- Parameter- och returvärdetyper som ska använda en allmän pekare deklareras korrekt som LPVOID- i stället för som LPSTR- eller en annan pekartyp.
- Den COMSTAT- strukturen deklareras enligt ANSI-standarden.
Relaterade ämnen