CPUID 示例:确定 CPU 性能

CPUID 示例提供了一个例程,该例程使用 CPUID 指令来确定正在运行的 CPU 的性能。

该示例提供函数 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

安全说明安全说明

此代码示例用于阐释一个概念,并且仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“原样”提供此代码示例,不提供任何保证。

获取示例和安装示例的说明:

访问 Visual Studio 中的示例

  • 在**“帮助”菜单上,单击“示例”**。

    默认情况下,这些示例安装在 drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ 中。

  • 有关此示例的最新版本以及其他示例的列表,请参见 MSDN 网站上的 Visual Studio 示例

生成并运行示例

生成并运行此示例

  1. 打开解决方案 cpuid.sln。

  2. 从**“生成”菜单中,单击“生成”**。

  3. 从“调试”菜单中,选择**“开始执行(不调试)”**。

程序输出示例

示例包括一个 test.cpp 文件,它通常调用 _cpuid 并在生成的 _p_info 结构中输出值。 例如,在支持 MMX 和 SSE 的 Pentium III 计算机上,程序输出与如下内容相仿:

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

请参见

其他资源

常规示例