[英]How do I know if I am using ARM using Windows API?
如何检查运行我的程序的系统是否基于机械臂或不使用c / c ++?
这就是您要寻找的
#include <stdio.h>
#include <windows.h>
int main(void)
{
SYSTEM_INFO SystemInfo;
GetSystemInfo(&SystemInfo);
if(SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM)
{
// System's processor is ARM based
}
return 0;
}
编辑:正如安德斯(Anders)所建议的那样,使用GetNativeSystemInfo
获得更好和准确的结果。
如果您想知道您是否正在为ARM进行编译,则可以检查是否已定义_M_ARM
。
如果您是x86应用程序,并且想知道您是否在ARM机器上运行了仿真程序(实际上还不可能,但是可能很快吗?),那么您将调用GetNativeSystemInfo
并检查wProcessorArchitecture
字段。
您不应该按照其他答案中的建议调用GetSystemInfo
,因为当x86应用程序在ARM上运行时,它很可能会撒谎并返回PROCESSOR_ARCHITECTURE_INTEL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.