如何发现我的CPU是32位还是64位?

ili*_*ias 11 language-agnostic processor

如何确定我的处理器是32位还是64位(用您选择的语言)?我想知道英特尔和AMD处理器的这个.

pli*_*nth 20

Windows,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;
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*lls 8

C#,OS不可知

sizeof(IntPtr) == 4 ? "32-bit" : "64-bit"
Run Code Online (Sandbox Code Playgroud)

这有些粗糙,但基本上告诉您CLR是以32位还是64位运行,这更有可能是您需要知道的.例如,CLR可以在64位处理器上以32位运行.

有关更多信息,请参阅此处:如何使用.NET检测Windows 64位平台?