20170805Windows12

xiaoxiao2021-02-28  85

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

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; }     将会打印出内存的使用情况。
转载请注明原文地址: https://www.6miu.com/read-40382.html

最新回复(0)