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 示例。
生成并运行示例
生成并运行此示例
打开解决方案 cpuid.sln。
从**“生成”菜单中,单击“生成”**。
从“调试”菜单中,选择**“开始执行(不调试)”**。
程序输出示例
示例包括一个 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