Entwickler-Ecke

Windows API - [GetTickCount] Was ist, wenn der DWORD abgelaufen ist?


Jakob Schöttl - Sa 27.01.07 12:52
Titel: [GetTickCount] Was ist, wenn der DWORD abgelaufen ist?
Hallo, ich hoffe das Thema passt hier in die Sparte:

die Funktion GetTickCount gibt doch die Anzahl der Millisekunden seit das Programm läuft zurück. Der Rückgabe-Wert ist ein DWORD, also ein Doppel-Wort = 32 Bit.

Nur theoretisch: Was ist wenn man ein Programm (2^32)/1000/60/60/24 = 49,71 Tage laufen lässt?
Stürzt dann das Programm ab, gibt es einfach einen Überlauf, oder fängt die Funktion wieder von vorne an zu zählen?

Das hat wahrscheinlich noch keiner ausprobiert, aber vllt hats ja schon mal jemand gelesen oder so...


Gausi - Sa 27.01.07 13:11
Titel: Re: [GetTickCount] Was ist, wenn der DWORD abgelaufen ist?
user profile iconJakob Schöttl hat folgendes geschrieben:
Stürzt dann das Programm ab
Nein, dann stürzt Windows ab. Zumindest war das mal ein Fehler, der aber mittlerweile behoben worden ist.

Nach 49 Tagen gehts wieder bei Null los. [http://msdn2.microsoft.com/en-us/library/ms885645.aspx]


GTA-Place - Sa 27.01.07 13:15

Viel interessanter wird es doch, wenn der Unix-Timestamp die 32 Bit überschreitet ;-):
http://de.wikipedia.org/wiki/Jahr-2038-Problem

Zitat:
Theoretisch betrachtet behebt auch die 64-Bit-Umstellung das Zeitstempelproblem nicht endgültig. Das Problem wird jedoch um etwa 290 Milliarden Jahre in die Zukunft verschoben.


Jakob Schöttl - Sa 27.01.07 13:24

Aja, danke für die Antwort