मुझे कैसे पता चलेगा कि मेरा प्रोसेसर 32 बिट या 64 बिट (आपकी पसंद की भाषा में) है या नहीं? मैं इंटेल और एएमडी प्रोसेसर दोनों के लिए यह जानना चाहता हूं।मैं कैसे खोज सकता हूं कि मेरा सीपीयू 32 या 64 बिट्स है या नहीं?
उत्तर
विंडोज, C/C++:
#include <windows.h>
SYSTEM_INFO sysInfo, *lpInfo;
lpInfo = &sysInfo;
::GetSystemInfo(lpInfo);
switch (lpInfo->wProcessorArchitecture) {
case PROCESSOR_ARCHITECTURE_AMD64:
case PROCESSOR_ARCHITECTURE_IA64:
// 64 bit
break;
case PROCESSOR_ARCHITECTURE_INTEL:
// 32 bit
break;
case PROCESSOR_ARCHITECTURE_UNKNOWN:
default:
// something else
break;
}
क्या आप यह निर्दिष्ट कर सकते हैं कि यह कौन सी भाषा है (हां, * मुझे पता है लेकिन अन्य नहीं हो सकते हैं) और कोई अन्य आवश्यकताएं (उदा।, हेडर फाइलें)? – paxdiablo
या, उस मामले के लिए, क्या ओएस? क्या यह मेरे मैक मिनी, मेरे लिनक्स बॉक्स, और मेरे विंडोज एक्सपी और विस्टा सिस्टम पर काम करेगा? –
बह - संपादित नहीं कर सकता ... लेकिन इसलिए * उस * स्विच को 'डिफ़ॉल्ट:' जोड़ने के लिए ... *-) –
मैं सोच रहा था, एक 64-बिट प्रोसेसर पर, संकेत 64-बिट कर रहे हैं। तो, प्रोसेसर सुविधाओं की जांच करने के बजाय, प्रोग्रामरेटिक रूप से 'टेस्ट' करने के लिए पॉइंटर्स का उपयोग करना संभव हो सकता है। यह दो संगत पॉइंटर्स के साथ संरचना बनाने और फिर 'घुमावदार' की जांच के रूप में सरल हो सकता है।
नहीं, 64 बिट सक्षम प्रोसेसर पर 32 बिट कोड चलने में मदद नहीं करेगा। – mghie
सी #, ओएस नास्तिक
sizeof(IntPtr) == 4 ? "32-bit" : "64-bit"
यह कुछ हद तक कच्चे तेल की है लेकिन मूल रूप से आपको बताता है CLR के रूप में 32-बिट या 64-बिट, जो अधिक होने की संभावना आप को पता है की आवश्यकता होगी क्या है चल रहा है या नहीं। उदाहरण के लिए, सीएलआर 64-बिट प्रोसेसर पर 32-बिट के रूप में चलाया जा सकता है।
अधिक जानकारी के लिए यहाँ देखें: How to detect Windows 64-bit platform with .NET?
यहाँ मुश्किल सा आप एक 64 बिट सीपीयू लेकिन एक 32 बिट ओएस हो सकता है। यदि आप उस मामले की परवाह करते हैं तो इसे सीपीयू से पूछताछ करने के लिए एएसएम स्टब की आवश्यकता होगी। यदि नहीं, तो आप आसानी से ओएस से पूछ सकते हैं।
VBScript, विंडोज:
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
' 32-bit
Case PROCESSOR_ARCHITECTURE_X64, PROCESSOR_ARCHITECTURE_IA64
' 64-bit
Case Else
' other
End Select
Next
विंडोज स्क्रिप्ट होस्ट, JScript में इस समय और PROCESSOR_ARCHITECTURE वातावरण चर का उपयोग कर के लिए एक अन्य संभावित समाधान:
var oShell = WScript.CreateObject("WScript.Shell");
var oEnv = oShell.Environment("System");
switch (oEnv("PROCESSOR_ARCHITECTURE").toLowerCase())
{
case "x86":
// 32-bit
case "amd64":
// 64-bit
default:
// other
}
नेट में आप 64 से 86 अंतर कर सकते हैं IntPtr संरचना की आकार संपत्ति को देखकर। IntPtr.Size संपत्ति बाइट्स में वापस आती है, प्रति बिट 8 बिट्स, इसलिए यह 32-बिट CPU पर 4 के बराबर है और 64-बिट CPU पर 8 है। चूंकि हम 4-बाइट या 8-बाइट प्रोसेसर की बजाय 32-बिट और 64-बिट प्रोसेसर के बारे में बात करते हैं, इसलिए मैं बिट्स में तुलना करना पसंद करता हूं जो इसे और स्पष्ट करता है कि क्या हो रहा है।
सी #
if(IntPtr.Size * 8 == 64)
{
//x64 code
}
PowerShell
if([IntPtr]::Size * 8 -eq 64)
{
#x64 code
}
सी # कोड:
int size = Marshal.SizeOf(typeof(IntPtr));
if (size == 8)
{
Text = "64 bit";
}
else if (size == 4)
{
Text = "32 bit";
}
अजगर में:
In [10]: import platform
In [11]: platform.architecture()
Out[11]: ('32bit', 'ELF')
सामान्य रूप से, बहुत साफ है। लेकिन मुझे पूरा यकीन है कि ये फ़ंक्शंस प्लेटफ़ॉर्म को वापस कर देते हैं जहां निष्पादन बनाया गया है, न कि प्लेटफॉर्म पर चल रहा है। अभी भी एक छोटा सा मौका है कि कुछ गीक 64 बिट्स कंप्यूटर पर 32 बिट संस्करण चला रहे हैं।
आप जैसे कुछ अधिक infos हो सकता है:
In [13]: platform.system()
Out[13]: 'Linux'
In [19]: platform.uname()
Out[19]:
('Linux',
'asus-u6',
'2.6.28-11-generic',
'#42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009',
'i686',
'')
आदि
इस लाइव डेटा की तरह अधिक :-)
मैं उस गीक हूँ। 64 बिट पायथन मौजूद है, लेकिन उस आर्किटेक्चर के लिए प्रीबिल्ट मॉड्यूल प्राप्त करना मुश्किल है, और लगभग स्थानीय लोगों को संकलित करने के लिए कठिन है। – SingleNegationElimination
linux आप "bitness" निर्धारित कर सकते हैं में लग रहा है
/proc/cpuinfo
जैसे पढ़कर।
cat /proc/cpuinfo | grep flags
यह
lm
झंडा यह एक 86 64 बिट सीपीयू (भले ही आप 32 बिट linux स्थापित)
सुनिश्चित नहीं होता है, तो अगर यह रूप में अच्छी तरह से गैर x86 CPU के लिए काम करता है जैसे कि पीपीसी या एआरएम।
- 1. मैं कैसे जांच सकता हूं कि एक संकलित बाइनरी 32 बिट या 64it है या नहीं?
- 2. मैं कैसे निर्धारित करूं कि एक .NET अनुप्रयोग 32 या 64 बिट है या नहीं?
- 3. जावा जेडीके 32 बिट्स बनाम 64 बिट्स
- 4. यूंट 32 बिट्स है चाहे सिस्टम 32 या 64 बिट्स हो?
- 5. मैं कैसे बता सकता हूं कि मेरा आईई 64-बिट है या नहीं? (उस मामले के लिए, जावा भी?)
- 6. मैं कैसे बता सकता हूं कि मेरा जीसीसी डिफ़ॉल्ट रूप से 64 बिट संकलित कर रहा है या नहीं?
- 7. कैसे पता लगाएं कि मेरा अमेज़ॅन ईसी 2 उदाहरण 32 बिट या 64 बिट है?
- 8. लिनक्स पर QtCreator: 32-बिट्स बनाम 64-बिट्स
- 9. क्या मुझे अपनी नई मशीन पर एक्लिप्स 32 बिट्स या 64 बिट्स का उपयोग करना चाहिए?
- 10. मेरा प्रोग्राम कैसे निर्धारित कर सकता है कि यह 32-बिट या 64-बिट विंडोज़ पर चल रहा है या नहीं?
- 11. मेरा 32 बिट सिरदर्द अब 64 बिट माइग्रेन है?! (या 64 बिट .NET CLR रनटाइम समस्याएं)
- 12. निर्धारित करें कि वर्तमान पावरशेल प्रक्रिया 32-बिट या 64-बिट है या नहीं?
- 13. विंडोज 7 64 बिट बिट्स बिट्स 32 बिट्स लाइब्रेरी 32 बिट्स के लिए लाइब्रेरी लोड करते समय
- 14. मैं कैसे पता लगा सकता हूं कि जीएचसी डिफ़ॉल्ट रूप से 32 बिट या 64 बिट कोड उत्पन्न करने के लिए सेट है या नहीं?
- 15. मैं कैसे निर्धारित कर सकता हूं कि मेरा टेक्स्टब्लॉक टेक्स्ट छंटनी जा रहा है या नहीं?
- 16. मैं कैसे बता सकता हूं कि मेरा संदर्भ अभी भी मान्य है या नहीं?
- 17. मैं कैसे पता लगा सकता हूं कि मेरा ऐप सैंडबॉक्स है या नहीं?
- 18. मैं कैसे पता लगा सकता हूं कि मेरा ब्राउज़र फ़ायरफ़ॉक्स है या नहीं?
- 19. मैं कैसे बता सकता हूं कि मेरा टेक्स्टव्यू लंबित किया गया है या नहीं?
- 20. मुझे कैसे पता चलेगा कि मेरा सर्वर mongodb 64 बिट्स चलाता है?
- 21. 64 बिट्स पर चल रहे 32 बिट्स ग्रहण JVM
- 22. यह निर्धारित करने के लिए कि कोई सिस्टम। डायग्नोस्टिक्स.प्रोसेस 32 या 64 बिट है या नहीं?
- 23. मशीन का आकार 64 या 32 बिट
- 24. 64 बिट या 32 बिट ओएस
- 25. मैं यह निर्धारित करने के लिए वीबीस्क्रिप्ट का उपयोग कैसे कर सकता हूं कि मैं 32-बिट या 64-बिट विंडोज ओएस चला रहा हूं या नहीं?
- 26. SVNKit या JavaHL उबंटू में 64 बिट्स
- 27. 32-बिट या 64-बिट एप्लिकेशन?
- 28. जांचें कि फ़ाइल का उपयोग कर 64 बिट्स सिस्टम पर फ़ाइल मौजूद है या नहीं। फ़ाइल 0E34ists
- 29. जेडीके 64 बिट या 32 बिट?
- 30. मैं कैसे बता सकता हूं कि मेरा EntityManager JTA या RESOURCE_LOCAL डेटास्रोत का उपयोग कर रहा है या नहीं?
आपको कम से कम उस भाषा को प्रदान करना होगा जिसे आप इस जानकारी को – JaredPar
में ढूंढने की कोशिश कर रहे हैं, यह प्रोग्रामिंग प्रश्न की तरह नहीं दिखता है। –
कोई प्रोग्रामिंग प्रश्न नहीं है। बंद होना चाहिए –