MOn*_*DaR 3 c++ windows time boost boost-date-time
在Win32系统boost::date_time::microsec_clock()上实现使用ftime,它只提供毫秒分辨率:链接到doc
Stackoverflow上有一些问题/答案说明这一点并链接文档,但没有解释为什么会这样:
似乎有办法在Windows上实现微秒分辨率:
我感兴趣的是为什么Boost以这种方式实现它,反过来又有可能解决方案更合适?
QueryPerformanceCounter无法帮助你解决这个问题.它为您提供了一个时间戳,但由于您不知道计数器何时启动,因此没有可靠的方法来计算它的绝对时间点.boost :: date_time是一个(用户可以理解的)时间点.另一个区别是像QueryPerformanceCounter这样的计数器为您提供了一个稳定增加的计时器,而系统时间可能受到用户的影响,因此可以跳转.所以这两件事情是针对不同的用例.一个用于表示实时,另一个用于获取软件中的精确计时和基准测试.
GetSystemTimePreciseAsFileTime似乎适合高分辨率绝对时间的法案.我猜它没有被使用,因为它需要Windows8.
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |