cpuid.hファイルの機能は何ですか?

cpuid.hファイルの機能は何ですか?

ソースからGLIBC 2.14をビルドしようとしています。 cpuid.hが見つからないというエラーメッセージが表示され続けます。

このファイルには何が含まれており、その目的は何ですか?

私はcpuid.hが2つの異なる場所に配置されていることを確認します。

/usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h
/usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h

また、2つのファイルが互いに異なるという事実も発見しました。簡単なdiffを実行すると、次のようになります。

diff --brief /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h /usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h
Files /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h and /usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h differ

cpuid.h とは何ですか?

ベストアンサー1

cpuid.h特定のCPUから低レベルの情報を取得するためのアセンブリ言語フラグメントの定義と、プログラムが実行されているCPUの種類と使用可能な機能を決定するために使用できるさまざまな数値定数の名前が含まれています。 (たとえば、プログラムが特定のCPUで使用可能な特殊行列数学命令を使用する場合は、その命令を使用する前にその命令が使用可能であることを確認できます。プログラムが以前のCPUで実行されている場合は、次のソフトウェアを使用して次のことができます。

コンパイルされたプロジェクトを進めるための迅速で汚い方法は、見つかったcpuid.hファイルの1つをコンパイラが見つけることができる場所にコピーすることです。 (おそらく試してみてくださいcp /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h /usr/include)これはそうではないかもしれません正しいただし、ほとんどのライブラリルーチンにはCPUID情報が必要ないため、有用な情報を取得できます。ただし、CPU情報を見つけるための関数に遭遇したことがある場合は、構築したライブラリが期待した場所で100%機能しない可能性があります。

おすすめ記事