6

自分のマシンが x86、x64、IA64 のいずれであるかをプログラムで判断するにはどうすればよいですか?

4

7 に答える 7

6

Windows システムでは、環境変数 PROCESSOR_ARCHITECTURE を取得できます。返される値について説明している MSDN の記事を次に示します。

PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_ARCHITECTURE=IA64
PROCESSOR_ARCHITECTURE=x86
于 2009-06-19T17:02:37.773 に答える
1

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
于 2009-06-22T07:12:16.120 に答える
0

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);
    }
  }
于 2009-06-19T17:04:39.640 に答える
0

猫/proc/cpuinfo

于 2009-06-19T18:46:00.387 に答える
0

通常、基になるプロセッサよりも重要なのは、ホストにインストールされているプロセッサに加えて、OS が実行されているモードです。

"uname -p" (または uname(2)) の出力を調べます。

Intel は 64 ビット命令に AMD の拡張機能を採用しているため、「x86_64」という値は、Intel または AMD 64 ビット プロセッサを実行していることを意味し、それ以外の場合は通常の x86 ISA を実行していることを意味します。

于 2009-06-19T20:11:59.417 に答える
-1

cpu-z は必要なプログラムです。使用しているプロセッサとサポートしている拡張機能を教えてくれます

于 2009-06-19T16:57:03.163 に答える