我需要用 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/