Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Provoca una llamada a la función _penter al principio de cada método o función.
/Gh
Comentarios
La función _penter no forma parte de ninguna biblioteca y se deja a criterio del programador proporcionar una definición para _penter.
Salvo que tenga intención de llamar explícitamente a _penter, no será necesario que proporcione un prototipo. La función debe parecer como si tuviera el siguiente prototipo, y debe insertar el contenido de todos los registros al entrar y extraer el contenido sin modificar al salir:
void __declspec(naked) _cdecl _penter( void );
Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.
Haga clic en la carpeta C/C++.
Haga clic en la página de propiedades Línea de comandos.
Escriba la opción del compilador en el cuadro Opciones adicionales.
Para establecer esta opción del compilador mediante programación
- Vea AdditionalOptions.
Ejemplo
El código que se muestra a continuación, si se compila con /Gh, muestra cómo se llama dos veces a _penter; una vez al escribir la función main y otra al escribir la función 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
}
}
In a function!
In a function!