__ud2
Específicos de Microsoft
Genera una instrucción no definida.
Sintaxis
void __ud2();
Comentarios
El procesador genera una excepción de código de operación no válida si ejecuta una instrucción no definida.
La función __ud2
equivale a la instrucción máquina UD2
. Para obtener más información, busque el documento "Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference" en el sitio de Intel Corporation.
Requisitos
Intrinsic | Arquitectura |
---|---|
__ud2 |
x86, x64 |
Archivo de encabezado<intrin.h>
FIN de Específicos de Microsoft
Ejemplo
En el ejemplo siguiente se ejecuta una instrucción no definida, lo cual genera una excepción. A continuación, el controlador de excepciones cambia el código devuelto de cero a uno.
// __ud2_intrinsic.cpp
#include <stdio.h>
#include <intrin.h>
#include <excpt.h>
// compile with /EHa
int main() {
// Initialize the return code to 0.
int ret = 0;
// Attempt to execute an undefined instruction.
printf("Before __ud2(). Return code = %d.\n", ret);
__try {
__ud2();
}
// Catch any exceptions and set the return code to 1.
__except(EXCEPTION_EXECUTE_HANDLER){
printf(" In the exception handler.\n");
ret = 1;
}
// Report the value of the return code.
printf("After __ud2(). Return code = %d.\n", ret);
return ret;
}
Before __ud2(). Return code = 0.
In the exception handler.
After __ud2(). Return code = 1.