Sdílet prostřednictvím


/Gh (povolení funkce háku _penter)

Způsobí, že volání _penter funkce na začátku každé metody nebo funkce.

/Gh

Poznámky

_penter Funkce není součástí žádné knihovny a je na vás poskytnout definici _penter.

Pokud máte v úmyslu explicitně volat _penter, není nutné poskytnout prototyp.Funkce musí být uvedeny jako má následující prototyp a musí na položku posunout obsah všech registrů a pop beze změny obsahu na konec:

void __declspec(naked) _cdecl _penter( void );

Toto prohlášení je k dispozici pro projekty 64-bit.

Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Klikněte na složku C/C++.

  3. Klikněte na stránku vlastností Příkazový řádek.

  4. Zadejte možnost kompilátoru v Další možnosti pole.

Chcete-li tuto možnost kompilátoru nastavit v programu

Příklad

Následující kód při kompilována s /Gh, ukazuje, jak _penter je volána dvakrát; jednou při zadávání funkce main a jednou při zadávání funkce x.

// Gh_compiler_option.cpp
// compile with: /Gh
// processor: x86
#include <stdio.h>
void x() {}

int main() {
   x();
}

extern "C" void __declspec(naked) _cdecl _penter( void ) {
   _asm {
      push eax
      push ebx
      push ecx
      push edx
      push ebp
      push edi
      push esi
    }

   printf_s("\nIn a function!");

   _asm {
      pop esi
      pop edi
      pop ebp
      pop edx
      pop ecx
      pop ebx
      pop eax
      ret
    }
}
  

Viz také

Referenční dokumentace

Možnosti kompilátoru

Nastavení možností kompilátoru