/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
Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Jak: otevření stránky vlastností projektu.
Klepněte C/C++ složky.
Klepněte příkazového řádku stránky vlastností.
Možnosti kompilátoru v typu Další možnosti pole.
Programově nastavit tuto volbu kompilátoru
- Viz téma AdditionalOptions.
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
}
}