java - 在Windows上使用JNA调用__cpuid函数

标签 java windows jna cpuid

我需要用 Java 获取处理器信息(供应商、型号等)。我通常会使用 C/C++,但不幸的是,对于我当前的项目,这必须在 Java 中完成。我正在使用 JNA 进行 native 访问,并且我已声明我的 JNA Library 如下:

public interface CLibrary extends Library {
    public void __cpuid(int[] CPUInfo, int InfoType);
}

我正在尝试这样调用:

CLibrary c = (CLibrary) Native.loadLibrary("msvcrt", CLibrary.class);
int[] CPUInfo = new int[4];
c.__cpuid(CPUInfo, 0);

但是我得到 Exception in thread "main"java.lang.UnsatisfiedLinkError: Unable to load library 'intrin': The specified module could not be found. 这可能意味着我正在加载错误的库。

那么我需要加载什么库才能在 Windows 上访问 __cpuid 函数?

最佳答案

由于 __cpuid 是编译器本身 ( see MSDN ) 而不是函数,因此没有关联的 DLL。您需要自己编写。

关于java - 在Windows上使用JNA调用__cpuid函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041220/

相关文章:

java - Selenium Webdriver 断言 2 个元素在 Java 中包含相同的数字

windows - Windows 7下64位R的优化问题

windows - OpenCV 2.4 : problems with includes in Qt in windows

c - 使用 java/jna 获取硬件信息以在所有操作系统上工作

java - 获取 windows/linux 中进程的启动时间?

java - 是否可以在单个 .java 文件中编写 2 个 Android Activity (UI)?如果不是为什么?

java - 如果其中一个字段可能为空,如何更新表中的多个字段?

java - JFrame关闭后如何执行操作?

Windows keystore 和证书

java - 如何检查文件是否可读?