Dela via


Kompilatorvarning (nivå 1) C4733

Infogad asm-tilldelning till FS:0 : hanteraren har inte registrerats som säker hanterare

Anmärkningar

En funktion som ändrar värdet på FS:0 för att lägga till en ny undantagshanterare kanske inte fungerar med säkra undantag, eftersom hanteraren kanske inte är registrerad som en giltig undantagshanterare (se /SAFESEH).

Lös den här varningen genom att antingen ta bort FS:0-definitionen eller inaktivera den här varningen och använda . SAFESEH för att ange hanterare för säkra undantag.

Example

I följande exempel genereras C4733:

// 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;
}