20170805Windows12_4_获取系统内存大小及空间内存

来源:互联网 发布:淘宝1元包邮怎么赚钱 编辑:程序博客网 时间:2024/06/04 06:28

获取系统内存大小及空间内存:

1:要获取系统里面有多少内存,使用了多少,例如在服务器编程里面就需要获取这些信息,如果要获取物理内存大小以及一些详细的资料吗,需要使用函数:
    GlobalMemoryStatus(),函数:
void WINAPI GlobalMemoryStatus(  _Out_ LPMEMORYSTATUS lpBuffer);

    参数:
typedef struct _MEMORYSTATUS {    DWORD dwLength;//当前整个结构体的长度,Windows里面很多结构体都会有这个,适用于做半杯匹配。    DWORD dwMemoryLoad;//0~100的一个参数,代表内存正在使用的一个状态,与360看到的那个百分比是一样的,    SIZE_T dwTotalPhys;//当前实际内存的大小,是以字节的方式计算的。    SIZE_T dwAvailPhys;//当前物理内存里面可用内存的大小    SIZE_T dwTotalPageFile;//指内存里面分页的个数,分页个数*页面大小=物理内存总大小    SIZE_T dwAvailPageFile;//可用页面大小    SIZE_T dwTotalVirtual;//总进程的大小    SIZE_T dwAvailVirtual;} MEMORYSTATUS, *LPMEMORYSTATUS;

2:测试代码:
#include <iostream>#include <windows.h>#include <tchar.h>int main(){setlocale(LC_ALL, "chs");MEMORYSTATUS memStatus;GlobalMemoryStatus(&memStatus);_tprintf(TEXT("内存使用百分比:%d%%\r\n"), memStatus.dwMemoryLoad);_tprintf(TEXT("内存总大小:%dMB\r\n"), memStatus.dwTotalPhys / 1024 / 1024);//以%d直接打印会超出范围,转换为MB就可以了_tprintf(TEXT("可用内存大小:%dMB\r\n"), memStatus.dwAvailPhys / 1024 / 1024);return 0;}

    将会打印出内存的使用情况。







阅读全文
1 0
原创粉丝点击