CPUID サンプル : CPU 機能の確認

更新 : 2007 年 11 月

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

xs6aek1h.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないため、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

サンプルとそのインストール手順を取得するには

  • Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

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

  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

参照

その他の技術情報

一般的なサンプル