成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Visual C++編程 獲取CPU信息

開發
獲取計算機CPU信息的方法有很多,本文教大家用Visual C++編程,來獲取計算機CPU信息。

  本文教大家用Visual C++編程,來獲取CPU信息,以下是詳細內容:

  這里主要通過利用CPUID 匯編指令(機器碼:0FH A2H, 如果你的編譯器不支持CPUID 指令,只有emit 機器碼了)來獲取CPU信息, 該指令可以被如下CPU識別:

  Intel 486 以上的CPU,

  Cyrix M1 以上的CPU,

  AMD Am486 以上的CPU

  以下是具體操作步驟與所能獲得CPU的信息情況:

  一、通過取CPU OEM 字符串, 可判斷CPU 廠商

  步驟:先讓EAX=0, 再調用CPUID

  1、Inel的CPU將返回以下結果:

  EBX:756E6547H 'Genu'

  EDX:49656E69H 'ineI'

  ECX:6C65746EH 'ntel'

  EBX,EDX,ECX 將連成"GenuineIntel", 真正的Intel。

  2、Cyrix 的CPU 將返回:

  EBX:43797269H

  EDX:78496E73H

  ECX:74656164H

  "CyrixInstead","Cyrix 來代替"。

  3、AMD 的CPU 將返回:

  EBX:41757468H

  EDX:656E7469H

  ECX:63414D44H

  "AuthenticAMD", 可信的AMD。

  在Windows98中,用右鍵單擊"我的電腦",選擇" 屬性- 常規"在計算機描述處就可看見CPU OEM 字符串。

  二、檢測CPU 到底是幾86, 是否支持MMX

  步驟:先讓EAX=1,再調用CPUID

  EAX的8到11位就表明是幾86

  3 - 386

  4 - i486

  5 - Pentium

  6 - Pentium Pro Pentium II

  2 - Dual Processors

  EDX 的第0位:有無FPU

  EDX的第23位:CPU是否支持IA MMX,很重要啊!如果你想用那57條新增的指令,先檢查這一位吧,否則就等著看Windows 的"該程序執行了非法指令,將被關 閉" 吧。

  三、檢測是否P6架構

  步驟:先讓EAX=1,再調用CPUID

  如果AL=1,就是Pentium Pro 或Pentium II

  四、檢測AMD的CPU信息

  步驟:先讓EAX=80000001H,再調用CPUID

  如果EAX=51H, 是AMD K5

  如果EAX=66H, 是K6

  EDX第0 位: 是否有FPU( 多余的 !誰用過沒FPU的K5,K6?)

  EDX 第23 位,CPU是否支持MMX,

  具體程序如下:

  1. //------CPUID Instruction Demo Program------------  
  2.     #include  
  3.     #include  
  4.     #pragma hdrstop  
  5.     //------------------------------------------------  
  6.     #pragma inline  
  7.     #pragma argsused  
  8.     int main(int argc, char **argv)  
  9.     {  
  10.     char OEMString[13];  
  11.     int iEAXValue,iEBXValue,iECXValue,iEDXValue;  
  12.     _asm {  
  13.     mov eax,0  
  14.     cpuid  
  15.     mov DWORD PTR OEMString,ebx  
  16.     mov DWORD PTR OEMString+4,edx  
  17.     mov DWORD PTR OEMString+8,ecx  
  18.     mov BYTE PTR OEMString+12,0  
  19.     }  
  20.     cout< < "This CPU 's OEM String is:"< < OEMString< < endl;  
  21.     _asm {  
  22.     mov eax,1  
  23.     cpuid  
  24.     mov iEAXValue,eax  
  25.     mov iEBXValue,ebx  
  26.     mov iECXValue,ecx  
  27.     mov iEDXValue,edx  
  28.     }  
  29.     if(iEDXValue&0x800000)  
  30.     cout < < "This is MMX CPU"< < endl;  
  31.     else  
  32.     cout < < "None MMX Support."< < endl;  
  33.     int iCPUFamily=(0xf00 & iEAXValue) > >8;  
  34.     cout < < "CPU Family is:"< < iCPUFamily< < endl;  
  35.     _asm{  
  36.     mov eax,2  
  37.     CPUID  
  38.     }  
  39.     if(_AL==1)  
  40.     cout < < "Pentium Pro or Pentium II Found";  
  41.     getch();  
  42.     return 0;  
  43.     }  

【編輯推薦】

  1. Visual C++應用程序中進行用戶訪問協議設置
  2. Visual C++從入門到精通
  3. Visual C++編程從基礎到實踐
  4. SQL Server2008中CPU性能監控
  5. 服務器升級硬件篇——CPU
  6. Linux查看cpu當前的各種信息
責任編輯:韓亞珊 來源: 中國IT實驗室
相關推薦

2010-02-04 15:19:38

C++獲取CPU信息

2010-01-20 10:49:29

Visual C++界

2010-01-12 15:13:37

Visual C++環

2012-04-05 09:33:18

Visual Stud

2009-06-15 14:48:13

Visual C++本狀態管理

2010-01-18 15:40:37

Visual C++工

2010-01-15 14:52:33

Visual C++

2009-11-12 10:05:09

Visual C++

2009-11-12 11:00:56

Visual C++

2011-05-30 15:29:32

C++

2010-01-18 14:41:52

Visual C++開

2010-01-14 13:39:45

Visual C++優

2010-01-18 15:19:41

Visual C++開

2010-01-26 13:14:48

2010-01-26 14:10:22

Visual C++

2011-07-10 15:26:54

C++

2010-01-26 17:11:13

C++編程

2010-01-11 11:02:59

Visual C++

2010-01-11 13:52:32

Visual C++子

2021-06-02 08:13:28

VscodeVisual stduC++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人色综合久久久天天蜜桃 | 欧美成年视频 | 免费在线观看黄视频 | 国产精品无码久久久久 | 久久久久中文字幕 | 日韩在线播放一区 | 午夜一区 | 亚洲影视在线 | 久久国产精品久久国产精品 | 午夜成人在线视频 | 国产精品一区二区欧美黑人喷潮水 | 日韩一区二区三区四区五区六区 | 91精品一区二区 | 欧美成人激情 | 久久久久久免费精品一区二区三区 | 亚洲最大的黄色网址 | 亚洲成人在线免费 | 国产高清视频一区二区 | 亚洲欧美一区二区三区国产精品 | 国产午夜三级一区二区三 | 国产精品久久久久久久久久不蜜臀 | 日韩成人在线免费视频 | ww 255hh 在线观看 | jlzzjlzz欧美大全| 国产美女黄色片 | 亚洲一区中文字幕在线观看 | 在线观看av免费 | 蜜桃精品噜噜噜成人av | 亚洲精品中文在线观看 | 欧美激情久久久 | 黄色香蕉视频在线观看 | 精品欧美一区二区三区精品久久 | 亚洲网站在线播放 | 国产小视频在线 | 欧美成人二区 | 久久精品在线 | 成人区精品一区二区婷婷 | 久久精品欧美一区二区三区不卡 | 成年人在线观看视频 | 九九久久久| 午夜丰满少妇一级毛片 |