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 のサンプルを参照してください。

サンプルのビルドと実行

このサンプルをビルドして実行するには

  1. cpuid.sln ソリューション ファイルを開きます。

  2. [ビルド] メニューの [ビルド] をクリックします。

  3. [デバッグ] メニューの [デバッグなしで開始] をクリックします。

出力例

サンプルに含まれている 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

参照

その他の技術情報

一般的なサンプル