// GetMemoryStatus.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "GetMemoryStatus.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
void GetMemSta(void);
/
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
LPVOID BaseAddr;
char *str;
GetMemSta();
printf("Now Allocate 32M Virtual Memory and 2M Physical Memory\n\n");
BaseAddr=VirtualAlloc(NULL,1024*1024*32,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE);
if (BaseAddr==NULL) printf("Virtual Allocate Fail\n");
str=(char *)malloc(1024*1024*2);
GetMemSta();
printf("Now Release 32M Virtual Memory and 2M Physical Memory\n\n");
if (VirtualFree(BaseAddr,0,MEM_RELEASE)==0) printf("Release Allocate Fail\n");
free(str);
GetMemSta();
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
}
return nRetCode;
}
void GetMemSta(void)
{
MEMORYSTATUS MemInfo;
GlobalMemoryStatus(&MemInfo);
printf("Current Memory Status is:\n");
printf("\t Total Physical Memory is %dMB\n",MemInfo.dwTotalPhys/(1024*1024));
printf("\t Available Physical Memory is %dMB\n",MemInfo.dwAvailPhys/(1024*1024));
printf("\t Total Page File is %dMB\n",MemInfo.dwTotalPageFile/(1024*1024));
printf("\t Available Page File is %dMB\n",MemInfo.dwAvailPageFile/(1024*1024));
printf("\t Total Virtual memory is %dMB\n",MemInfo.dwTotalVirtual/(1024*1024));
printf("\t Available Virtual memory is %dMB\n",MemInfo.dwAvailVirtual/(1024*1024));
printf("\t Memory Load is %d%% \n\n",MemInfo.dwMemoryLoad);
}
//
#include "stdafx.h"
#include "GetMemoryStatus.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
void GetMemSta(void);
/
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
LPVOID BaseAddr;
char *str;
GetMemSta();
printf("Now Allocate 32M Virtual Memory and 2M Physical Memory\n\n");
BaseAddr=VirtualAlloc(NULL,1024*1024*32,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE);
if (BaseAddr==NULL) printf("Virtual Allocate Fail\n");
str=(char *)malloc(1024*1024*2);
GetMemSta();
printf("Now Release 32M Virtual Memory and 2M Physical Memory\n\n");
if (VirtualFree(BaseAddr,0,MEM_RELEASE)==0) printf("Release Allocate Fail\n");
free(str);
GetMemSta();
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
}
return nRetCode;
}
void GetMemSta(void)
{
MEMORYSTATUS MemInfo;
GlobalMemoryStatus(&MemInfo);
printf("Current Memory Status is:\n");
printf("\t Total Physical Memory is %dMB\n",MemInfo.dwTotalPhys/(1024*1024));
printf("\t Available Physical Memory is %dMB\n",MemInfo.dwAvailPhys/(1024*1024));
printf("\t Total Page File is %dMB\n",MemInfo.dwTotalPageFile/(1024*1024));
printf("\t Available Page File is %dMB\n",MemInfo.dwAvailPageFile/(1024*1024));
printf("\t Total Virtual memory is %dMB\n",MemInfo.dwTotalVirtual/(1024*1024));
printf("\t Available Virtual memory is %dMB\n",MemInfo.dwAvailVirtual/(1024*1024));
printf("\t Memory Load is %d%% \n\n",MemInfo.dwMemoryLoad);
}