运行时检测系统架构(x86/x64)

3 c++ architecture cpu system processor

在c++中程序运行时(windows下和linux下)是否可以检测系统/处理器架构?

Hos*_*Aly 5

在 Windows 上,您可以使用__cpuid. 在 Linux 上,您可以open("/proc/cpuinfo")查看它。

以下是 Windows 上的示例,基于MSDN页面中的示例:

#include <intrin.h>

bool cpuSupports64()
{
    int CPUInfo[4];
    __cpuid(CPUInfo, 0);
    return (CPUInfo[3] & 0x20000000) || false;
}
Run Code Online (Sandbox Code Playgroud)