__ud2
Блок, относящийся только к системам Майкрософт
Создает неопределенную инструкцию.
Синтаксис
void __ud2();
Замечания
Обработчик вызывает недопустимое исключение opcode при выполнении неопределенной инструкции.
Функция __ud2
эквивалентна инструкции компьютера UD2
. Дополнительные сведения см. в документе "Руководство разработчика по архитектуре Intel, том 2: справочник по набору инструкций", на сайте Intel Corporation .
Требования
Intrinsic | Архитектура |
---|---|
__ud2 |
x86, x64 |
Файл<заголовка intrin.h>
Завершение блока, относящегося только к системам Майкрософт
Пример
В следующем примере выполняется неопределенная инструкция, которая вызывает исключение. Затем обработчик исключений изменяет возвращаемый код с нуля на один.
// __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.