是否有一个等效于timeGetTime()的标准库

Is there a standard library equivalent of timeGetTime()?

本文关键字:标准 timeGetTime 有一个 是否      更新时间:2023-10-16

我尝试过搜索,但没有找到满足我要求或足够清楚地解释这个问题的答案。

我正在寻找一个函数或实现一个函数的方法,该函数可以像timeGetTime()函数在窗口中那样检索刻度数或毫秒数。

我正在寻找一个只使用标准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();
}

C++11添加了标头<chrono>,它提供了一种标准化的方式来读取系统时间,其分辨率高于旧的localtime。然而,不同平台的准确性差异很大。

steady_clock类可能对您最有用。