Heim > Backend-Entwicklung > C++ > Hauptteil

Wie können Sie unter Linux ohne Bibliotheken von Drittanbietern Millisekundenzeit erreichen?

Barbara Streisand
Freigeben: 2024-11-21 06:20:10
Original
264 Leute haben es durchsucht

How Can You Get Milliseconds Time on Linux Without Third-Party Libraries?

Millisekunden-Zeit unter Linux ohne Bibliotheken von Drittanbietern erhalten

Im Gegensatz zu Windows, wo die Funktion „clock()“ Millisekunden-Zeit bereitstellt, on Unter Linux wird die Genauigkeit auf die nächste 1000 gerundet. Dadurch wird die Genauigkeit auf die zweite Ebene beschränkt, wodurch sie für die Erfassung unbrauchbar wird Millisekunden.

Während Qt mit seiner QTime-Klasse eine Lösung bereitstellt, wird ein allgemeinerer Ansatz angestrebt. Durch die Nutzung der Standard-C-Bibliothek kann eine zuverlässige Methode eingesetzt werden, um Millisekunden-Zeit unter Linux zu erhalten.

Der folgende Codeausschnitt zeigt, wie dies mit der Funktion gettimeofday() erreicht wird:

#include <sys/time.h>
#include <stdio.h>
#include <unistd.h>

int main()
{
    struct timeval start, end;

    long mtime, seconds, useconds;    

    gettimeofday(&start, NULL);
    usleep(2000);
    gettimeofday(&end, NULL);

    seconds  = end.tv_sec  - start.tv_sec;
    useconds = end.tv_usec - start.tv_usec;

    mtime = ((seconds) * 1000 + useconds/1000.0) + 0.5;

    printf("Elapsed time: %ld milliseconds\n", mtime);

    return 0;
}
Nach dem Login kopieren

Durch die Verwendung der Funktion gettimeofday() ruft der Code die aktuelle Zeit vor und nach einer angegebenen Verzögerung (in diesem Beispiel 2 Millisekunden) ab. Anschließend wird die Differenz in Sekunden und Mikrosekunden berechnet und in Millisekunden umgerechnet. Dieser Ansatz bietet eine präzise und standardkonforme Methode zum Erhalten von Millisekunden-Zeit unter Linux, ohne auf Bibliotheken von Drittanbietern angewiesen zu sein.

Das obige ist der detaillierte Inhalt vonWie können Sie unter Linux ohne Bibliotheken von Drittanbietern Millisekundenzeit erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage