Speicherverbrauch ermitteln
-
Hallo,
ich möchte eine Funktion schreiben, mit der ich den aktellen Speicherverbrauch von meinem Programm ermitteln kann.
Ich habe beim Googeln, den folgenden Ansatz gefunden:void speicherverbrauch() { PPROCESS_MEMORY_COUNTERS pmc; GetProcessMemoryInfo(GetCurrentProcess,pmc,sizeof(pmc)); cout <<"Speicherverbrauch: "<<pmc->PagefileUsage<<endl; }Bei dem ist jedoch das Problem, dass ich die Zahl 17 beim ersten Aufrufen ausgegeben bekomme und beim zweiten Aufrufen, nachdem ~4 MB mehr Speicherverbrauch auftreten müsste nur die Zahl 0.
Wie kann ich diese Funktion verbessern oder wie kann ich eifnach den aktuellen Speicherverbrauch von meinem Progamm ermitteln?
-
1. Du musst einen Zeiger auf ein Strukturobjekt übergegen, dass auch exisitiert. (Du übergibst nur ein unreferenzierten Zeiger!)
2. Die Funktionsaufrufklammern "()" von "GetCurrentProcess" fehlen.
3. Guck mal hier: http://msdn.microsoft.com/en-us/library/ms682050(VS.85).aspx
-
Vielen Dank für deine Antwort, doch wo liegt jetzt der Fehler??
void speicherverbrauch() { PPROCESS_MEMORY_COUNTERS pmc; GetProcessMemoryInfo(GetCurrentProcess(),&pmc,sizeof(pmc)); cout <<"Speicherverbrauch: "<<pmc->PagefileUsage<<endl; }[BCC32 Fehler] *.cpp(170): E2034 Konvertierung von '_PROCESS_MEMORY_COUNTERS * *' nach '_PROCESS_MEMORY_COUNTERS *' nicht möglich
[BCC32 Fehler] *.cpp(170): E2342 Keine Übereinstimmung des Typs beim Parameter 'ppsmemCounters' ('_PROCESS_MEMORY_COUNTERS *' erwartet, '_PROCESS_MEMORY_COUNTERS * *' erhalten)
-
Du hast ***P***PROCESS_MEMORY_COUNTERS geschrieben das ist ein Pointer auf PROCESS_MEMORY_COUNTERS
-
Oh, vielen Dank, das habe ich wohl völlig übersehen!
-
Habsch doch auch eigentlich geschrieben (Punkt 1) ...

-