PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aktuelle Uhrzeit per TSC berechnen?



7.e.Q
05-12-2005, 08:14
Hi Leute,

schon wieder 'n Problem:

ich möchte per TimeStampCounter die aktuelle Uhrzeit berechnen, indem ich mir die aktuelle Uptime berechne und auf die Uhrzeit zum Einschaltzeitpunkt (wo die Uptime & der TSC noch auf 0 standen) drauf addiere. Allerdings mach ich da anscheinend irgendwas falsch. Ich hol mir den TSC, der ja beispielsweise bei einem 650MHz Rechner pro Sekunde um 650.000.000 erhöht wird. Also pro Mikrosekunde um 650. Also ich hol mir den TSC, teile ihn durch diese 650 und habe doch dadurch die Uptime in Mikrosekunden oder? Warum liefert mir das dann als Ergebnis folgenden Wert:

1616021439093 us

während mir die Berechnung aus einer durch gettimeofday gefüllten timeval struct ( (tv_sec * 1000000) + tv_usec ) folgenden Wert liefert:

1682342949 us


Wo mach ich hier den Denkfehler? :confused:

Danke

Gruß,
Hendrik

7.e.Q
05-12-2005, 08:55
Aaaahhh... Konvertierungsfehler zwischen int und long long int... *hmpf*

Erledigt! Funktioniert.

Also wenn man mit tv_sec und tv_usec arbeitet und als Ergebnis einen int64 (long long int) haben will, dann muss man die beiden Werte umcasten... okay! Gebongt. :) *kopf->tisch*