Am Fr, den 10.09.2004 schrieb Friedrich W. H. Kossebau um 19:40:
queryPerformanceCounter(Start);
queryPerformanceCounter(Now);
[...]
Aber noch was anderes: Habe ich richtig gerechnet, daß Now-Start wohl bei normaler Nutzung auf einem Arbeitsplatzrechner niemals einen Fehler erzeugen kann? 2^63-1 / 2*10^9 (GHz) / 60 (sec) / 60 (min) / 24 (h) = 53375.99558365032 (Tage)?
Theoretisch ja.
Aber: QueryPerformanceCounter() ist Win32-API und deren Dokumentation sagt, daß es ab und zu bei SMP vorkommt, daß die Counter der vorhandenen CPUs nicht synchron laufen, obwohl sie es eigentlich sollten. Wenn Du für den Thread keine CPU-Affinität festgelegt hast, kannst Du also ein Problem bekommen. Außerdem bin ich mir nicht zu 100% sicher, daß der Counter bei 0 losläuft. Außerdem2: Die Auflösung des Counters ist nicht 1, d.h. Now-Start kann durchaus auch mal 0 sein.
Eric p.s. Ist es eigentlich schlecht fürs Linux-Karma, wenn man solches Detailwissen offenbart?