How can I programmatically determine my processor type?

后端 未结 7 583
清歌不尽
清歌不尽 2021-01-13 01:03

How can I determine programmatically whether my machine is an x86, x64 or an IA64?

相关标签:
7条回答
  • 2021-01-13 01:21

    cpu-z is the program you want, it will tell you which processor you have and what extensions it supports

    0 讨论(0)
  • 2021-01-13 01:29

    cat /proc/cpuinfo

    0 讨论(0)
  • 2021-01-13 01:35

    In Java you shouldn't need to know. ;)

    0 讨论(0)
  • 2021-01-13 01:39

    On Windows Systems you can get the environment variable PROCESSOR_ARCHITECTURE. Here is an MSDN article explaining the values that can be returned.

    PROCESSOR_ARCHITECTURE=AMD64
    PROCESSOR_ARCHITECTURE=IA64
    PROCESSOR_ARCHITECTURE=x86
    
    0 讨论(0)
  • 2021-01-13 01:39

    What's usually more important than the underlying processor is what mode the OS is running in, in ADDITION to the processor that's installed on the host.

    Examine the output of "uname -p" (or uname(2))

    Intel adopted AMD's extensions for 64-bit instructions so a value of "x86_64" means you're running either an Intel or AMD 64-bit processor, otherwise you're running the regular x86 ISA.

    0 讨论(0)
  • 2021-01-13 01:41

    VBScript, checking the PROCESSOR_ARCHITECTURE environment variable:

    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, using 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 讨论(0)
提交回复
热议问题