CPUID サンプル : CPU 機能の確認
CPUID サンプルには、使用している CPU の機能を CPUID 命令を使用して確認するルーチンがあります。
このサンプルに用意された関数 int _cpuid(_p_info *pinfo) は、CPU に関するデータを返します。 戻り値の int は、主なプロセッサ機能のフラグのビットマスクです。 設定されるビットは、次のとおりです。
#define _CPU_FEATURE_MMX 0x0001
#define _CPU_FEATURE_SSE 0x0002
#define _CPU_FEATURE_SSE2 0x0004
#define _CPU_FEATURE_3DNOW 0x0008
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。 特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。 セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。 これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
- このサンプルの最新バージョンと他のサンプルの一覧については、MSDN Web サイトの Visual Studio のサンプルを参照してください。
サンプルのビルドと実行
このサンプルをビルドして実行するには
cpuid.sln ソリューション ファイルを開きます。
[ビルド] メニューの [ビルド] をクリックします。
[デバッグ] メニューの [デバッグなしで開始] をクリックします。
出力例
サンプルに含まれている test.cpp ファイルは、単に _cpuid を呼び出して結果の _p_info 構造体の値を出力します。 たとえば、Pentium III を搭載し、MMX と SSE をサポートするコンピューターの場合のプログラム出力は、次のようになります。
C:\work\cpuid>test
v_name: GenuineIntel
model: INTEL Pentium-III
family: 6
model: 8
stepping: 3
feature: 00000003
yes _CPU_FEATURE_MMX
yes _CPU_FEATURE_SSE
no _CPU_FEATURE_SSE2
no _CPU_FEATURE_3DNOW
os_support: 00000003
yes _CPU_FEATURE_MMX
yes _CPU_FEATURE_SSE
no _CPU_FEATURE_SSE2
no _CPU_FEATURE_3DNOW
checks: 0000000f