2011-08-25 65 views

回答

3

在Win32上,您可以使用GetPerformanceCounter。

我用它在Windows上實現了高分辨率時間和GUID。

http://msdn.microsoft.com/en-us/magazine/cc163996.aspx

與GetSystemTimeAsFileTime結合(),你應該有你所需要的。

+0

您能否爲我提供代碼 – Programmer

+2

「您能否提供我的代碼」 - 等一下,您的名字是「程序員」! :)當然,這對你來說是一次很好的學習經歷。 – codenheim

+0

最小時間分辨率是什麼意思? – Programmer

0

參見GetTickCount

+0

你能給我代碼C – Programmer

+1

GetTickCount報告時間以毫秒爲單位,但它可能沒有毫秒的分辨率。根據機器的使用年限和窗口版本,您可能注意到GetTickCount的最小可測量增量介於10到20毫秒之間。如果您的PC具有高分辨率定時器(大部分是),GetPerformanceCounter會爲您提供更好的分辨率。 –

+0

沒錯。如果我記得,多次調用GetTickCount()可能會返回相同的值,至少在較早的Windows上(2000年以前)。當時(1999?),在Win98和PocketPC(版本?),我不得不寫一個更好的GUID,它必須在批處理模式下工作。用GetTickCount()我會產生很多相同的,所以我的重試循環不得不重試幾次。性能不佳。 GetPerformanceCounter()是解決方案。 – codenheim

相關問題