windows下C++获取系统信息

创建cpp文件,需要使用GBK编码,才能够正确显示中文。

#include <iostream>
#include <windows.h>

int main(int argc, PCHAR argv[]) {
  SYSTEM_INFO si;
  GetSystemInfo(&si);
  if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
    printf("处理器架构: X64(AMD or Intel)\n");
  } else if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM) {
    printf("处理器架构: AMD\n");
  } else if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) {
    printf("处理器架构: Intel 服务器\n");
  } else if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) {
    printf("处理器架构: X86\n");
  } else {
    printf("处理器架构: 未知的架构\n");
  }
  printf("程序或DLL最低可用内存地址: %lX\n",
         long(si.lpMinimumApplicationAddress));
  printf("程序或DLL最高可用内存地址: %lX\n",
         long(si.lpMaximumApplicationAddress));
  printf(
      "配置到系统的处理器: %ld 15 = 0000 0000 0000 0000 0000 0000 0000 1111\n",
      long(si.dwActiveProcessorMask));
  /// 常用于获得当前可处理数据的子线程
  printf("当前组中的逻辑处理器个数: %d 个\n", si.dwNumberOfProcessors);
  printf("页面分配粒度: 0x%x 字节\n", si.dwPageSize);
  printf("虚拟内存分配粒度: 0x%x 字节\n", si.dwAllocationGranularity);
  if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) {
    printf("依赖架构的处理器级别: %d [仅用于显示][由CPU供应商定义]\n",
           si.wProcessorLevel);
  }
  if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) {
    printf("依赖架构的处理器级别: %d [仅用于显示][设置为1]\n",
           si.wProcessorLevel);
  }
  printf("处理器的型号: %X\n", si.wProcessorRevision);
  getchar();
  return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值