c# - 确定处理器支持哪些指令

标签 c# .net wmi

CPU-Z能够确定您的处理器支持的指令。例如,以下链接显示了这些说明:

MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、EM64T

有没有一种方法可以使用 .NETWMI 或其他一些技术来实现这一点?

最佳答案

kernel32.dll 中你有函数 IsProcessorFeaturePresent你可以pInvoke .

编辑
关于 EM64T 扩展指令集,这仅适用于 x64 平台,因此您可以通过 WMI 检查存在哪种类型的 CPU:

public static bool IsEM64TSupported()
{
  ManagementObject mo;
  mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
  ushort i = (ushort) mo["Architecture"];

  return i == 9;
}

但由于 EM64T 指令在 32 位操作系统中不可用,因此您也需要进行检查。

关于c# - 确定处理器支持哪些指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13165924/

相关文章:

c# - 不能在 Dapper 查询中使用自定义类型作为参数插入 SQLite 数据库

c# - 如何绘制一组矩形的轮廓?

.net - Windows Azure 上的诊断中没有事件日志?

.net - 第一个代码 : Database only created after execute certain code?

powershell - 通过 WMI 远程确定 PowerShell 版本

Python WMI 网络适配器配置参数问题 [Windows 8.1] [Python 2.7] [WMI 1.4.9]

c# - 通过 WMI 更新

c# - 用于登录 ASP.NET 网站的控制台应用程序

c# - 退出 WPF 应用程序的最佳做法是什么?

.net - 是否可以在 Windows XP 上运行 CoreCLR?