Bekommen Sekunden seit Epoche in Linux
Ist es cross-Plattform-Lösung, um Sekunden seit Epoche, für windows benutze ich
long long NativesGetTimeInSeconds()
{
return time (NULL);
}
Aber, wie man auf Linux?
Was passiert, wenn Sie versuchen, die Funktion unter Linux?
Haben Sie sah Boost Date-Time-Bibliothek - boost.org/doc/libs/1_57_0/doc/html/date_time/posix_time.html
Haben Sie sah Boost Date-Time-Bibliothek - boost.org/doc/libs/1_57_0/doc/html/date_time/posix_time.html
InformationsquelleAutor Boris | 2012-12-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie bereits verwenden:
std::time(0)
(vergessen Sie nicht zu#include <ctime>
). Ob allerdingsstd::time
tatsächlich gibt die Zeit, da die Epoche nicht in der Norm festgelegt sind (C11, wird durch den C++ - standard):C++11 bietet
time_since_epoch
, aber die Epoche ist abhängig von der verwendeten Uhr. Weiterhin können Sie die Anzahl der Sekunden:InformationsquelleAutor Zeta
In C.
In C++.
Zurückkehren und der Wert der Zeit ist : time_t nicht lange
InformationsquelleAutor Quentin Perez
Den nativen Linux-Funktion für die erste Zeit ist
gettimeofday()
[es gibt noch einige andere Aromen zu], aber das bekommt Sie die Zeit in Sekunden und Nanosekunden, das ist mehr, als Sie brauchen, so würde ich vorschlagen, dass Sie weiterhintime()
. [Natürlichtime()
wird umgesetzt durch den Aufrufgettimeofday()
irgendwo auf der ganzen Linie - aber ich sehe nicht den Vorteil, dass zwei verschiedene Stücke von code, der tut genau das gleiche - und wenn Sie wollten, würden Sie verwendenGetSystemTime()
oder so auf Windows [nicht sicher, das ist der richtige name, es ist schon eine Weile her, dass ich programmiert habe, auf Windows]clock_gettime
und Lesentime(7)
Mann Seite hilfreich istUnd es ist noch immer holt Nanosekunden: lxr.linux.keine/#linux+v3.7.1/arch/x86/vdso/vclock_gettime.c#L149 namens lxr.linux.keine/#linux+v3.7.1/arch/x86/vdso/vclock_gettime.c#L175 (vorausgesetzt, wir reden hier von x86, mindestens)
InformationsquelleAutor Mats Petersson