1

Java でプロセッサ情報 (ベンダー、モデルなど) を取得する必要があります。通常は C/C++ を使用しますが、残念ながら現在のプロジェクトでは Java で行う必要があります。ネイティブ アクセスに JNA を使用しており、JNALibraryを次のように宣言しました。

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.これはおそらく間違ったライブラリをロードしていることを意味します。

__cpuidでは、Windows で関数にアクセスするためにロードする必要があるライブラリは何ですか?

4

1 に答える 1

2

__cpuid は関数ではなくコンパイラ組み込み ( MSDN を参照) であるため、関連する DLL はありません。自分で書く必要があります。

于 2012-10-24T00:49:40.187 に答える