#include <windows.h>
#include <tchar.h>
#define BYTES_TO_KB 1024
int main(void) {
MEMORYSTATUSEX statex;
statex.dwLength = sizeof(statex);
GlobalMemoryStatusEx(&statex);
_tprintf(TEXT("%I64d KB free physical memory\n"), statex.ullAvailPhys / BYTES_TO_KB);
_tprintf(TEXT("%.2f GB free physical memory\n"), (statex.ullAvailPhys / BYTES_TO_KB) / (1024.0 * 1024.0));
return 0;
}
/*
run:
17280068 KB free physical memory
16.48 GB free physical memory
*/