Поделиться через


__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.

См. также

Встроенные компоненты компилятора