Pregunta

¿Cómo puedo determinar mediante programación si mi máquina es una x86, x64 o IA64?

¿Fue útil?

Solución

En sistemas Windows puede obtener la variable de entorno PROCESSOR_ARCHITECTURE. Aquí hay un artículo de MSDN que explica los valores que se pueden devolver.

PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_ARCHITECTURE=IA64
PROCESSOR_ARCHITECTURE=x86

Otros consejos

VBScript, verificando la variable de entorno 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, usando 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

En 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);
    }
  }

cat / proc / cpuinfo

Lo que generalmente es más importante que el procesador subyacente es en qué modo se está ejecutando el sistema operativo, además del procesador que está instalado en el host.

Examine la salida de " uname -p " (o uname (2))

Intel adoptó las extensiones de AMD para instrucciones de 64 bits, por lo que un valor de "x86_64" significa que está ejecutando un procesador Intel o AMD de 64 bits, de lo contrario está ejecutando el x86 ISA normal.

cpu-z es el programa que desea, le dirá qué procesador tiene y qué extensiones admite

En Java no debería necesitar saberlo. ;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top