/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
Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.
Klikněte na složku C/C++.
Klikněte na stránku vlastností Příkazový řádek.
Zadejte možnost kompilátoru v Další možnosti pole.
Chcete-li tuto možnost kompilátoru nastavit v programu
- Další informace naleznete v tématu 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
}
}