2011-05-31 177 views
2

在posix上,可以使用timespec來計算準確的時間長度(如秒和毫秒)。不幸的是,我需要使用Visual Studio編譯器遷移到Windows。 VS time.h庫沒有聲明timespec,所以我正在尋找其他選項。儘管我不能檢查時鐘計數的毫秒數是多麼精確,但可以使用時鐘和time_t進行搜索。timespec在Windows編譯器上

你在做什麼/用於計算操作中的時間流逝(如果可能,使用標準C++庫)?

回答

2

功能GetTickCount通常用於此。

另外一個類似的線程:C++ timing, milliseconds since last whole second

+0

有沒有辦法使用標準的C++庫。這將是一個獎金。我忘了提及,以及 – PLS 2011-05-31 14:25:52

+0

檢查此線程,它包含一個答案:http://stackoverflow.com/questions/117346/c-timing-milliseconds-since-last-whole-second – Grim 2011-05-31 14:28:23

+0

謝謝@Grim。它看出這不是便攜式 – PLS 2011-05-31 14:33:15

2

取決於你想要什麼樣的準確性,我的理解是,時鐘和time_t的不是精確到毫秒級。同樣,GetTickCount()也是常用的(MS文檔說精確到10-15ms),但對於許多目的來說不夠精確。

我使用QueryPerformanceFrequencyQueryPerformanceCounter進行準確的性能時序測量。

+0

'time_t'精確到一秒,因爲它是一個表示秒的整數類型;亞秒級精度在數學上不可能。 – 2011-05-31 14:30:19

+0

我的錯誤 - 誤讀文檔 - 發佈編輯 – Elemental 2011-05-31 15:17:49

+0

+1:QPF/QPC是要走的路。 – Puppy 2011-05-31 15:23:43