2009-07-22 5 views
6

Ich muss Prozessinformationen in einem C/C++ - Programm abrufen. Ich brauche zumindest grundlegende Dinge wie CPU% und Speicherverbrauch, aber zusätzliche Details wären auch nützlich.portable System-/Prozessinformationsbibliothek

Das Problem ist, dass ich diese Informationen in einem tragbaren Programm zu verwenden, die auf mehreren Plattformen ausgeführt werden: zu Windows, Linux, MAC und möglicherweise Solaris.

Gibt es eine Bibliothek, die ich verwenden kann oder muss ich meine eigene HAL für die verschiedenen Plattformen schreiben? Ich habe versucht, auf Google zu suchen, aber ich konnte nichts Offensichtliches sehen.

Antwort

0

Diese Informationen müssen vom Betriebssystem abgerufen werden.
Per Definition ist dies nicht portabel, aber es gibt ein paar OS Abstraktionsschichten da draußen. Der eine, der in den Sinn kommt, ist ACE.

+0

ACE scheint nicht für welche OP enthalten gefragt. Qt, übrigens, auch nicht. Scheint nicht-trivial zu sein ... –

+0

Das Problem ist trivial. Es ist nur so, dass jedes System anders ist. –

1

Ich kann Ihnen eine komplette Lösung nicht helfen, aber hier ist ein Link zu meiner CPULoadMeter Klasse, die Sie CPU-Auslastung abzufragen Informationen über die Zeit nutzen können. Es funktioniert unter MacOS/X, Windows und Linux (und möglicherweise anderen Unixy-Betriebssystemen, die auch/proc/stat haben, weiß ich nicht). Vielleicht können Sie es als Ausgangspunkt verwenden.

https://public.msli.com/lcs/muscle/muscle/util/CPULoadMeter.h https://public.msli.com/lcs/muscle/muscle/util/CPULoadMeter.cpp