#include<Windows.h> #include<iostream> using namespace std; void main() { MEMORYSTATUS ms; //存储状态 LPVOID pVir; LPVOID pMal; GlobalMemoryStatus(&ms); cout<<"分配存储前的存储状态"<<endl; cout<<"存储状态长度"<<ms.dwLength<<"Bytes"<<endl; cout<<"本地存储"<<ms.dwMemoryLoad<<"%"<<endl; cout<<"全部物理存储"<<ms.dwTotalPhys/(1024*1024)<<"MB"<<endl; cout<<"全部页文件"<<ms.dwTotalPageFile/(1024*1024)<<"MB"<<endl; cout<<"可用页文件"<<ms.dwAvailPageFile/(1024*1024)<<"MB"<<endl; cout<<"全部虚拟存储"<<ms.dwTotalVirtual/(1024*1024)<<"MB"<<endl; cout<<"可用虚拟存储"<<ms.dwAvailVirtual/(1024*1024)<<"MB"<<endl; cout<<"现在分配32M虚拟存储和16M物理存储"<<endl; pVir=VirtualAlloc(NULL,1024*1024*32,MEM_COMMIT|MEM_RESERVE,PAGE_READWRITE); if(!pVir) { cout<<"虚拟存储分配失败"<<endl; } pMal=malloc(1024*1024*16); GlobalMemoryStatus(&ms); cout<<"分配存储后的存储状态"<<endl; cout<<"存储状态长度"<<ms.dwLength<<"Bytes"<<endl; cout<<"本地存储"<<ms.dwMemoryLoad<<"%"<<endl; cout<<"全部物理存储"<<ms.dwTotalPhys/(1024*1024)<<"MB"<<endl; cout<<"全部页文件"<<ms.dwTotalPageFile/(1024*1024)<<"MB"<<endl; cout<<"可用页文件"<<ms.dwAvailPageFile/(1024*1024)<<"MB"<<endl; cout<<"全部虚拟存储"<<ms.dwTotalVirtual/(1024*1024)<<"MB"<<endl; cout<<"可用虚拟存储"<<ms.dwAvailVirtual/(1024*1024)<<"MB"<<endl; cout<<"现在释放32M虚拟存储和16M物理存储"<<endl; if(!VirtualFree(pVir,0,MEM_RELEASE)) { cout<<"释放虚拟存储失败"<<endl; } free(pMal); GlobalMemoryStatus(&ms); cout<<"释放存储后的存储状态"<<endl; cout<<"存储状态长度"<<ms.dwLength<<"Bytes"<<endl; cout<<"本地存储"<<ms.dwMemoryLoad<<"%"<<endl; cout<<"全部物理存储"<<ms.dwTotalPhys/(1024*1024)<<"MB"<<endl; cout<<"全部页文件"<<ms.dwTotalPageFile/(1024*1024)<<"MB"<<endl; cout<<"可用页文件"<<ms.dwAvailPageFile/(1024*1024)<<"MB"<<endl; cout<<"全部虚拟存储"<<ms.dwTotalVirtual/(1024*1024)<<"MB"<<endl; cout<<"可用虚拟存储"<<ms.dwAvailVirtual/(1024*1024)<<"MB"<<endl; }