【问题标题】:How to get time in milliseconds or nanoseconds in C++如何在 C++ 中以毫秒或纳秒为单位获取时间
【发布时间】:2013-05-15 14:11:31
【问题描述】:

问题在于以毫秒或纳秒的形式在 C++ 中获取时间。但是我只知道像这样以秒为单位获取时间的方法:

#include <ctime>
...
time = ctime(0) ;
...

我想知道如何进行类似的操作以获取以毫秒或纳秒为单位的时间。我应该包含哪些标头,要调用哪些函数以及它们的参数是什么?

【问题讨论】:

标签: c++ windows time


【解决方案1】:

如果您对特定于平台的实现(Windows)没问题,请查看QueryPerformanceCounter API。

this answer 有一个简单的用法示例。

【讨论】:

  • "看看 QueryPerformanceCounter" - 这太疯狂了......即使它选择使用有前途的 RTC 寄存器,许多问题包括通常无法将在一个 CPU 内核上获取的时钟计数器样本与所获取的样本相关联在另一个(以及省电模式下的可变时钟速度,休眠问题等)。但是,至少它有时可以用于桌面计时绑定到特定核心的单个线程......
  • 这个答案对我来说似乎最有用,而且时间非常准确
  • 疯了!我说疯了! bwhahaha ...任何高分辨率计时器都会受到其运行系统的怪癖的影响。同样适用于提升(尽管我从未使用过,但请参阅他们的 doco 和 prolly 标准库中的警告)。可能不会用它来校准起搏器,但 QPC 在“日常”使用中对我来说效果很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多