1

我需要在 Java 中获取处理器信息(供应商、型号等)。我通常会使用 C/C++,但不幸的是,对于我当前的项目,这必须在 Java 中完成。我正在使用 JNA 进行本机访问,并且我已将 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.这可能意味着我正在加载错误的库。

那么我需要加载什么库才能访问__cpuidWindows 上的功能?

4

1 回答 1

2

由于 __cpuid 是编译器固有的(请参阅 MSDN)而不是函数,因此没有关联的 DLL。你需要自己写。

于 2012-10-24T00:49:40.187 回答