• C++内存管理


    #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;
    }

  • 相关阅读:
    route命令
    自动删除n天前日志
    ss命令
    rcp命令
    crontab,at命令,常见问题
    locate,nl命令
    kill,killall,top,free,vmstat,iostat,watch命令
    [转载]memcached stats 命令
    Swift学习笔记
    C++移位运算符
  • 原文地址:https://www.cnblogs.com/zztong/p/6695214.html
Copyright © 2020-2023  润新知