Aktuelle Mikrosekunden Zeit in C?

8

Wie kann ich die aktuelle Mikrosekundenzeit in C auf der Unix-Plattform drucken?

    
Sachin Chourasiya 14.03.2011, 19:58
quelle

4 Antworten

7

In Linux und BSDs können Sie die Funktion gettimeofday() verwenden. Dies füllt ein timeval struct mit einem Feld für Sekunden seit der Epoche und einem Feld für Mikrosekunden. Diese Funktion ist veraltet. Die höhere Auflösung clock_gettime () ist der bevorzugte Ersatz, Mac OS X implementiert es jedoch nicht. Ich bin mir nicht sicher, ob Windows eines dieser Programme implementiert.

    
mkb 14.03.2011 20:09
quelle
5

Es gibt keine tragbare (Multiplattform) Art und Weise, diese Zahl zu erhalten. Unter Linux (oder anderen POSIX-Systemen) zum Beispiel gibt es den Ruf gettimeofday , die jedoch genau diese Präzision (Genauigkeit bereitstellt, abhängen, ob das Timing von der spezifischen Hardware zur Verfügung und implementiert ist).

    
6502 14.03.2011 20:05
quelle
2

Der C-Standard bietet kein Standardmittel dafür. Die Funktion clock() gibt jedoch die Zeit in CLOCKs zurück. Es gibt CLOCKS_PER_SEC CLOCKs in einer Sekunde. Auf meiner Maschine und Implementierung ist CLOCKS_PER_SEC als 1000 definiert. Sowohl clock als auch CLOCKS_PER_SEC sind in <time.h> definiert. Hoffe das half

    
Armen Tsirunyan 14.03.2011 20:04
quelle
0

Wenn Sie auf Linux sind, würde ich diese Seite besuchen: Ссылка Besonders die 'gettimeofday'-Funktion. Welche Sie eine Struktur übergeben können, und erhalten Sie die Uhrzeit in Mikrosekunden.

    
Adam 14.03.2011 20:03
quelle

Tags und Links