Partilhar via


__ud2

Específicos do Microsoft

Gera uma instrução indefinida.

void __ud2();

Comentários

O processador gera uma exceção de opcode inválido se você executar uma instrução indefinida.

O __ud2 função é equivalente a UD2 instruções de máquina e está disponível somente no modo kernel. Para obter mais informações, procure o documento "Manual do desenvolvedor de Software de arquitetura Intel, Volume 2: referência de conjunto de instruções," com o Intel Corporation site.

Requisitos

Intrínseca

Arquitetura

__ud2

x86,x64

Arquivo de cabeçalho <intrin.h>

Exemplo

O exemplo a seguir executa uma instrução indefinida, o que gera uma exceção. O manipulador de exceção, em seguida, altera o código de retorno de zero a um.

// __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;
}
  
  
  
  
  

Consulte também

Referência

Intrínsecos do compilador