__ud2

Microsoft 专用

生成未定义的指令。

语法

void __ud2();

备注

如果执行未定义的指令,处理器将引发操作码无效的异常。

__ud2 函数等同于 UD2 计算机指令。 有关详细信息,请在 Intel Corporation 站点上搜索文档“体系结构软件开发人员手册第 2 卷:指令集参考”。

要求

Intrinsic 体系结构
__ud2 x86、x64

头文件<intrin.h>

结束 Microsoft 专用

示例

以下示例执行未定义的指令,这样会引发异常。 然后,异常处理程序会将返回代码从 0 更改为 1。

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

另请参阅

编译器内部函数