c++ bekommen Millisekunden seit ein paar Tag

Ich brauche eine Möglichkeit in c++ zu verfolgen die Anzahl der Millisekunden seit der Ausführung des Programms. Und ich brauche die Genauigkeit in Millisekunden. (In meinem googeln habe ich gefunden, dass viele Leute, die gesagt gehören Zeit.h und multiplizieren der Ausgabe des time() von 1000 ... das wird nicht funktionieren.)

  • Ich denke, wir müssen wissen, über das Betriebssystem, das Sie interessiert; ich bin ziemlich sicher, dass es keine portable Möglichkeit, diese zu bekommen.
  • Es scheint, dass die Zeit.h clock () - Lösung unten funktioniert Prima. Ist es ein Problem, dass ich hier nicht gedacht haben?
  • gut, ich persönlich benutze clock (), um zu sehen, wie lange es dauert, zu lösen euler Probleme.. Es ist perfekt für meinen Fall, so dass es hängt wirklich davon ab, wie spezifisch Sie sein möchten.
  • ja -- clock gibt die Zeit mit einer Auflösung von CLOCKS_PER_SEC, die könnte überall sein von Millisekunden bis ganze Sekunden. CLOCKS_PER_SEC können Sie konvertieren, um Sekunden, aber es kann nicht gleich die richtige Auflösung. Zum Beispiel, VC++ liefert ein Ergebnis in Millisekunden -- aber die tatsächliche Schrittweite ist in der Regel rund 10 ms. I. e., erhalten Sie eine Zeit von 0, dann 10, dann 20, und so weiter.
  • guter Punkt (+1). Obwohl für meine aktuellen mock-up I hohe Auflösung erfordern eher als Genauigkeit. Albern, nicht wahr?
  • clock() hat nicht zählen zu den Uhren. Es zählt Uhren Sie das Programm ausgeführt wurde, eine feine, aber wichtige Unterscheidung. Der Bemerkenswerte Unterschied ist, dass clock() nicht weiter zu zählen, während das Programm schläft oder blockiert I/O (dist/Netzwerk).
  • außer, wenn es funktioniert. Wie bereits in meiner Antwort, verschiedene Implementierungen funktionieren anders in dieser Hinsicht. Während ich damit einverstanden, dass die Absicht ist, dass clock zählen nur CPU-Zeit, ist es nicht immer umgesetzt werden, dass Art und Weise.

InformationsquelleAutor JnBrymn | 2010-07-19
Schreibe einen Kommentar