Comment puis-je déterminer par programme si mon ordinateur est un x86, un x64 ou un IA64?Comment puis-je déterminer par programme mon type de processeur?
Répondre
Sur les systèmes Windows, vous pouvez obtenir l'environnement PROCESSOR_ARCHITECTURE variable. Voici un article MSDN expliquant les valeurs pouvant être renvoyées.
PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_ARCHITECTURE=IA64 PROCESSOR_ARCHITECTURE=x86
Je ne sais pas pourquoi cela a été marqué, tapez dans une ligne de commande echo% PROCESSOR_ARCHITECTURE% –
exactement ce que je cherchais! –
L'article MSDN suggère que cela vous indique l'architecture du système d'exploitation, pas le type de processeur (vous pouvez avoir le système d'exploitation x86 sur le processeur x86_64). –
cpu-z est le programme que vous voulez, il vous dira quel est le processeur que vous avez et ce qu'il supporte les extensions
http://www.cpuid-pro.com/index.php est la page pour les développeurs. Cela donnera beaucoup de détails sur le CPU, l'architecture, etc. si nécessaire. –
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);
}
}
Au lieu d'obtenir "VendorIdentifier", vous pouvez obtenir "ProcessorNameString" qui contient le nom du modèle commun du fournisseur. – galaktor
cat/proc/cpuinfo
Ce qui est généralement plus important que le processeur sous-jacente est ce mode, le système d'exploitation est en cours d'exécution en, en plus le processeur installé sur l'hôte.
Examinez la sortie de "uname -p" (ou uname (2))
Intel a adopté les extensions d'AMD pour les instructions 64 bits donc une valeur de "x86_64" signifie que vous utilisez soit un processeur Intel ou AMD Processeur 64 bits, sinon vous exécutez l'ISA x86 standard.
En Java, vous ne devriez pas avoir besoin de savoir. ;)
VBScript, vérification de la variable d'environnement 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, en utilisant 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
Vous pouvez ouvrir l'ordinateur et regarder la CPU. Vous cherchez une réponse de code? –
peut-être que vous voulez demander "comment puis-je savoir quel est le type de ma machine?" – belgariontheking
Si vous êtes sous Linux, essayez 'uname -m' –