Die Antwort darauf ist plattformspezifisch. Das Betriebssystem ist verantwortlich für die Verfolgung des Timings und folglich bietet die C ++ - Sprache selbst keine Sprachkonstrukte oder eingebaute Funktionen dafür.
Hier finden Sie jedoch einige Ressourcen für plattformabhängige Timer:
Eine plattformübergreifende Lösung könnte sein boost :: asio :: deadline_timer .
In C ++ 11 können Sie portabel zum höchsten Auflösung-Timer gelangen mit:
%Vor%Beispielausgabe:
%Vor% "chrono_io" ist eine Erweiterung, die E / A-Probleme mit diesen neuen Typen erleichtert und hier
Es gibt auch eine Implementierung von <chrono>
in Boost verfügbar (könnte immer noch auf der Spitze des Stammes sein, nicht sicher, dass es freigegeben wurde).
Der C ++ - Standard sagt nicht viel über die Zeit aus. Es gibt einige Funktionen, die von C über den Header <ctime>
übernommen wurden.
Die Funktion clock
ist die einzige Möglichkeit, eine Genauigkeit von unter einer Sekunde zu erhalten, aber die Genauigkeit kann so niedrig wie eine Sekunde sein (sie wird durch das Makro CLOCKS_PER_SEC
definiert). Außerdem misst es überhaupt keine Echtzeit, sondern Prozessorzeit.
Die Funktion time
misst Echtzeit, aber (normalerweise) nur auf die nächste Sekunde.
Um Echtzeit mit Sekundengenauigkeit zu messen, benötigen Sie eine nicht standardmäßige Bibliothek.