Sdílet prostřednictvím


/GH (_penter povolit funkci zavěšení)

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 poskytnutí definice pro _penter.

Pokud neplánujete explicitně volat _penter, není nutné poskytnout prototyp.Funkce musí být uvedeny jako měl následující prototypu 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 64bitové projekty.

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 Jak: otevření stránky vlastností projektu.

  2. Klepněte C/C++ složky.

  3. Klepněte příkazového řádku stránky vlastností.

  4. Možnosti kompilátoru v typu Další možnosti pole.

Programově nastavit tuto volbu kompilátoru

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

Možnosti nastavení kompilátoru