我需要在长时间(几个小时)内每隔几毫秒(20、30、40ms)获取精确的时间戳。时间戳所在的函数是由第三方库作为回调调用的。
使用
上面链接提供的解决方案似乎只适用于旧计算机,在我尝试在新计算机上使用它时会出现同步卡住的问题。
对我来说,Boost似乎也只能以毫秒为单位工作。如果可能的话,我想避免使用外部库,但如果没有其他选择,我会使用它。
有什么建议吗?
使用
GetSystemTime()
可以获得正确的系统时间戳,但只能精确到毫秒,这对我来说不够精确。使用QueryPerformanceTimer()
可以获得更精确的时间戳,但在长时间内与系统时间戳不同步(参见http://msdn.microsoft.com/en-us/magazine/cc163996.aspx)。上面链接提供的解决方案似乎只适用于旧计算机,在我尝试在新计算机上使用它时会出现同步卡住的问题。
对我来说,Boost似乎也只能以毫秒为单位工作。如果可能的话,我想避免使用外部库,但如果没有其他选择,我会使用它。
有什么建议吗?
std::chrono
来完成这样的任务。 - davidhigh