/Gh (Enable _penter Hook Function)

Causes a call to the _penter function at the start of every method or function.



The _penter function is not part of any library and it is up to you to provide a definition for _penter.


void __declspec(naked) _cdecl _penter( void );

To set this compiler option in the Visual Studio development environment


  2. Click the C/C++ folder.

  3. Click the Command Line property page.

  4. Type the compiler option in the Additional Options box.

To set this compiler option programmatically


The following code, when compiled with /Gh, shows how _penter is called twice; once when entering function main and once when entering function x.

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

int main() {

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

In a function! In a function!

See Also


Compiler Options

Setting Compiler Options