CPUID 範例:判斷 CPU 效能
更新:2007 年 11 月
CPUID 範例提供一個使用 CPUID 指令來判斷執行之 CPU 的效能的常式。
本範例提供可以傳回 CPU 相關資料的 int _cpuid(_p_info *pinfo) 函式。int 傳回值是主要處理器功能的旗標位元遮罩。可設定的位元為:
#define _CPU_FEATURE_MMX 0x0001
#define _CPU_FEATURE_SSE 0x0002
#define _CPU_FEATURE_SSE2 0x0004
#define _CPU_FEATURE_3DNOW 0x0008
安全性注意事項: |
---|
這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。 |
若要取得範例和指示以便進行安裝:
按一下 Visual Studio [說明] 功能表上的 [範例]。
如需詳細資訊,請參閱尋找範例檔案。
最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。
您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。
建置和執行範例
若要建置和執行這個範例
開啟 cpuid.sln 方案。
在 [建置] 功能表中,按一下 [建置]。
在 [偵錯] 功能表中,選取 [啟動但不偵錯]。
範例程式輸出
這個範例包括一個可以呼叫 _cpuid 的 test.cpp 檔,並以產生的 _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