#include #include #define DIV 1024 char *divisor = "K"; #define WIDTH 7 void SystemMemory(void) { MEMORYSTATUS stat; GlobalMemoryStatus(&stat); printf("The MemoryStatus structure is %ld bytes long.\n", stat.dwLength); printf("It should be %d.\n", sizeof(stat)); printf("%ld percent of memory is in use.\n", stat.dwMemoryLoad); printf("There are %*ld total %sbytes of physical memory.\n", WIDTH, stat.dwTotalPhys / DIV, divisor); printf("There are %*ld free %sbytes of physical memory.\n", WIDTH, stat.dwAvailPhys / DIV, divisor); printf("There are %*ld total %sbytes of paging file.\n", WIDTH, stat.dwTotalPageFile / DIV, divisor); printf("There are %*ld free %sbytes of paging file.\n", WIDTH, stat.dwAvailPageFile / DIV, divisor); printf("There are %*ld total %sbytes of virtual memory.\n", WIDTH, stat.dwTotalVirtual / DIV, divisor); printf("There are %*ld free %sbytes of virtual memory.\n", WIDTH, stat.dwAvailVirtual/DIV, divisor); } int main(void) { SystemMemory(); return 0; }