winapi – 来自Windows上的GlobalMemoryStatusEx()的错误结果
发布时间:2020-12-14 02:54:46 所属栏目:Windows 来源:网络整理
导读:我正在尝试使用GlobalMemoryStatusEx()获取总系统内存: MEMORYSTATUSEX memory; GlobalMemoryStatusEx(memory);#define PRINT(v) {printf("%s ~%.3fGBn",(#v),((double)v)/(1024.*1024.*1024.));} PRINT(memory.ullAvailPhys); PRINT(memory.ullTotalPhys)
我正在尝试使用GlobalMemoryStatusEx()获取总系统内存:
MEMORYSTATUSEX memory; GlobalMemoryStatusEx(&memory); #define PRINT(v) {printf("%s ~%.3fGBn",(#v),((double)v)/(1024.*1024.*1024.));} PRINT(memory.ullAvailPhys); PRINT(memory.ullTotalPhys); PRINT(memory.ullTotalVirtual); PRINT(memory.ullAvailPageFile); PRINT(memory.ullTotalPageFile); #undef PRINT fflush(stdout); 但结果非常令人厌倦,不可理解. memory.ullAvailPhys ~1.002GB memory.ullTotalPhys ~1.002GB memory.ullTotalVirtual ~0.154GB memory.ullAvailPageFile ~0.002GB memory.ullTotalPageFile ~1.002GB 我的总物理内存是8GB,但没有结果是接近它.所有数值都小得多. 此外,每当我执行时,’total’值都会不断变化.例如,另一个结果是: memory.ullAvailPhys ~0.979GB memory.ullTotalPhys ~0.979GB memory.ullTotalVirtual ~0.154GB memory.ullAvailPageFile ~0.002GB memory.ullTotalPageFile ~0.979GB 我究竟做错了什么? 解决方法
这是你缺少的部分:
MEMORYSTATUSEX memory = { sizeof memory }; MSDN:
如果您检查了GlobalMemoryStatusEx返回的值,则可以通过获取错误指示来查看问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Windows平台搭建C语言开发环境
- windows – PE头“子系统”字段有什么影响?
- Elastic Kibana - Install as windows service
- Windows Azure应用程序 – 黑客尝试?
- windows-7 – 占地面积小的64位ISO读卡器
- Windows – NetApp错误:STATUS_NOLOGON_WORKSTATION_TRUST
- windows – 一起使用mod_log_rotate和rotatelogs.exe有什么
- Windows上的PHP / MySQLi:插入MySQL innoDB表将AUTO_INCRE
- wpf – 为什么Blend 2012不允许我创建非Windows商店项目?
- windows-server-2008 – Windows – dsmod强制执行密码策略
推荐文章
站长推荐
- 仅使用连接字符串打开Microsoft.practices.Enter
- windows-xp – Windows:DEP总是打开和DEP退出之
- 权限 – 是否可以使用组策略授予管理Windows服务
- 使用Windows Power Management API调暗监视器
- windows-xp – Windows复制命令进程信息
- Windows Azure如何执行负载平衡?
- 如何用act_window openerp打开不同的网站
- x86_64:为什么uint_least16_t比uint_fast16_t快
- windows-server-2008 – 在Windows Server 2008
- windows-phone-7 – 自定义故事板中的“无法解析
热点阅读