Delen via


Compilerwaarschuwing (niveau 1) C4733

Inline asm toewijzen aan FS:0: handler niet geregistreerd als veilige handler

Opmerkingen

Een functie die de waarde bij FS:0 wijzigt om een nieuwe uitzonderingshandler toe te voegen, werkt mogelijk niet met veilige uitzonderingen, omdat de handler mogelijk niet is geregistreerd als een geldige uitzonderingshandler (zie /SAFESEH).

U kunt deze waarschuwing oplossen door de FS:0-definitie te verwijderen of deze waarschuwing uit te schakelen en te gebruiken . SAFESEH om de veilige uitzonderingshandlers op te geven.

Example

In het volgende voorbeeld wordt C4733 gegenereerd:

// C4733.cpp
// compile with: /W1 /c
// processor: x86
#include "stdlib.h"
#include "stdio.h"
void my_handler()
{
   printf("Hello from my_handler\n");
   exit(1);
}

int main()
{
   _asm {
      push    my_handler
      mov     eax, DWORD PTR fs:0
      push    eax
      mov     DWORD PTR fs:0, esp   // C4733
   }

   *(int*)0 = 0;
}