Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   Hauptspeicherausnutzung unter Visual C++ ausgeben? (https://www.tweakpc.de/forum/programmiersprachen/15777-hauptspeicherausnutzung-unter-visual-c-ausgeben.html)

Live 16.05.2004 10:24

Hauptspeicherausnutzung unter Visual C++ ausgeben?
 
Hallo!

Gibt es einen Befehl innerhalb von MS Visual in C++ der mir die aktuelle Hauptspeicherauslastung ausgibt?
Suche eine Alternative zum Linux C++ Systembefehl [i]system("free")[/i].

Stinger` 16.05.2004 11:35

[code]
MEMORYSTATUSEX MemStatusEx = { 0 };
MemStatusEx.dwLength = sizeof(MEMORYSTATUSEX);

if (GlobalMemoryStatusEx(&MemStatusEx)) {
DWORD dwMemLoad = DWORD((MemStatusEx.ullTotalPhys - MemStatusEx.ullAvailPhys) / 1024);
cout << dwMemLoad << " KB belegt" << endl;
}
[/code]

Greetz

e:/ GlobalMemoryStatusEx ist besser, da es dann zu keinen Problemen kommt, wenn der RAM größer als 4 GB ist. Geht dann aber nur unter Windows 2000 bzw. XP.

Live 16.05.2004 11:56

Danke für die Hilfe, habe es jetzt so ähnlich als Funktion gelöst:

[code]void memory ()
{
MEMORYSTATUS lpBuffer;

lpBuffer.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&lpBuffer);

cout<<"Freier Arbeitsspeicher: "<<lpBuffer.dwAvailPhys/1024<<"KB";
}[/code]

Stinger` 16.05.2004 12:41

[quote=Live]Danke für die Hilfe, habe es jetzt so ähnlich als Funktion gelöst:

[code]void memory ()
{
MEMORYSTATUS lpBuffer;

lpBuffer.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&lpBuffer);

cout<<"Freier Arbeitsspeicher: "<<lpBuffer.dwAvailPhys/1024<<"KB";
}[/code][/quote]

dwLength brauchste nicht auf die Struct-Size setzen, das macht, laut MSDN, die Funktion selber.

Live 16.05.2004 13:43

Stimmt war überflüssig ging auch so!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.