Как я могу программно определить тип своего процессора? - PullRequest
6 голосов
/ 19 июня 2009

Как программно определить, является ли мой компьютер x86, x64 или IA64?

Ответы [ 7 ]

6 голосов
/ 19 июня 2009

В системах Windows вы можете получить переменную среды PROCESSOR_ARCHITECTURE. Вот статья MSDN, объясняющая значения, которые могут быть возвращены.

PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_ARCHITECTURE=IA64
PROCESSOR_ARCHITECTURE=x86
1 голос
/ 22 июня 2009

VBScript, проверка переменной среды PROCESSOR_ARCHITECTURE:

Set oShell = CreateObject("WScript.Shell")
Set oEnv = oShell.Environment("System")
Select Case LCase(oEnv("PROCESSOR_ARCHITECTURE"))
  Case "x86"
    ' x86
  Case "amd64"
    ' amd64
  Case "ia64"
    ' ia64
  Case Else
    ' other
End Select

VBScript, используя WMI:

Const PROCESSOR_ARCHITECTURE_X86  = 0
Const PROCESSOR_ARCHITECTURE_IA64 = 6
Const PROCESSOR_ARCHITECTURE_X64  = 9

strComputer = "."

Set oWMIService = GetObject("winmgmts:" & _
    "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessors = oWMIService.ExecQuery("SELECT * FROM Win32_Processor")

For Each oProcessor In colProcessors
  Select Case oProcessor.Architecture
    Case PROCESSOR_ARCHITECTURE_X86
      ' x86
    Case PROCESSOR_ARCHITECTURE_X64
      ' x64
    Case PROCESSOR_ARCHITECTURE_IA64
      ' ia64
    Case Else
      ' other
  End Select
Next
0 голосов
/ 20 июня 2009

В Java вам не нужно знать. ;)

0 голосов
/ 20 июня 2009

Обычно более важным, чем базовый процессор, является то, в каком режиме работает ОС, ДОПОЛНИТЕЛЬНО к процессору, установленному на хосте.

Проверьте вывод "uname -p" (или uname (2))

Intel приняла расширения AMD для 64-битных инструкций, поэтому значение "x86_64" означает, что вы используете 64-битный процессор Intel или AMD, в противном случае вы используете обычный x86 ISA.

0 голосов
/ 19 июня 2009

cat / proc / cpuinfo

0 голосов
/ 19 июня 2009

В C #:

using System;
using Microsoft.Win32;

  class Class1
  {
    static void Main(string[] args)
    {
      RegistryKey RegKey = Registry.LocalMachine;
      RegKey = RegKey.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
      Object cpuSpeed = RegKey.GetValue("~MHz");
      Object cpuType  = RegKey.GetValue("VendorIdentifier");
      Console.WriteLine("You have a {0} running at {1} MHz.",cpuType,cpuSpeed);
    }
  }
0 голосов
/ 19 июня 2009

cpu-z - это программа, которую вы хотите, она скажет вам, какой у вас процессор и какие расширения она поддерживает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...