Megosztás a következőn keresztül:


Fordító figyelmeztetése (1. szint) C4733

Inline asm assigning to "FS:0": a kezelő nincs regisztrálva biztonságos kezelőként

Megjegyzések

Előfordulhat, hogy az FS:0 értéket új kivételkezelő hozzáadására módosító függvény nem működik biztonságos kivételekkel, mert lehet, hogy a kezelő nem regisztrálható érvényes kivételkezelőként (lásd a /SAFESEH-t).

A figyelmeztetés feloldásához távolítsa el az FS:0 definíciót, vagy kapcsolja ki ezt a figyelmeztetést, és használja . A SAFESEH a biztonságos kivételkezelők megadásához.

Example

A következő példa c4733-at hoz létre:

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