我尝试过搜索,但没有真正找到符合我要求或解释得足够清楚的问题的答案。
我正在寻找一个函数或一种实现函数的方法,该函数可以像 timeGetTime() 函数在 Windows 中一样检索刻度数或毫秒数。
我正在寻找一种仅使用标准 C++ 的解决方案,无需额外的库或平台细节(例如 Windows 或 Linux 上的 timeGetTime() 等价物;多平台解决方案)。
我试图让我的代码平台独立于库的较低级别,我只是想知道是否有人可以告诉我/指出如何将类似于 timeGetTime() 的东西组合在一起。
谢谢
更新:我不一定追求高性能和准确性,我只需要毫秒精度来查看自上次检查以来已经过去了多少时间。
您可以使用 C++11 中添加的非常详细的<chrono>库。
它有不同类型的时钟,具体取决于您的需求,它system_clock是唯一可以使用的时钟,time_t并且high_resolution_clock是具有最小滴答声的时钟。
用它来计时相对简单,例如:
#include <iostream>
#include <chrono>
int main() {
auto now = std::chrono::high_resolution_clock::now();
//do stuff here
auto then = std::chrono::high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(then-now).count();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6114 次 |
| 最近记录: |