2012-01-11 5 views
5

J'ai utilisé le codeUtilisation pratique de la mémoire virtuelle

MEMORYSTATUSEX memInfo; 
memInfo.dwLength = sizeof(MEMORYSTATUSEX); 
GlobalMemoryStatusEx(&memInfo); 
DWORDLONG totalVirtualMem = memInfo.ullTotalPageFile; 
DWORDLONG virtualMemUsed = memInfo.ullTotalPageFile - memInfo.ullAvailPageFile; 
DWORDLONG totalPhysMem = memInfo.ullTotalPhys; 

fourni à here

est sortie comme: 2.3GB. Est-ce que cela signifie que mon programme requiert 2,3 Go de mémoire? Pourriez-vous également commenter la mémoire virtuelle totale et la RAM? Aussi je n'ai pas pu exécuter ce code:

PROCESS_MEMORY_COUNTERS_EX pmc; 
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)); 
SIZE_T virtualMemUsedByMe = pmc.PrivateUsage; 

car il donne erreur,

error C2664: 'GetProcessMemoryInfo' : cannot convert parameter 2 from 'PROCESS_MEMORY_COUNTERS_EX *' to 'PPROCESS_MEMORY_COUNTERS' 

Répondre

Questions connexes