1

我有一些需要计算时间间隔的 C++ Windows 代码。为此,如果它检测到在 WinCE 和GetSystemTimeAsFileTime中运行其他 Windows 平台,它会使用GetCurrentFT 。但是,如果我没记错的话,这可能容易受到系统时钟操作的影响(即有人更改系统时钟会使测量的时间间隔不可靠)。

对于这些平台(WinCE 和其他 Windows 平台)是否有类似于 UNIX 的 CLOCK_MONOTONIC 的东西,它会使用单调递增的计数器而不是系统时钟?

4

2 回答 2

1

std::chrono::steady_clock是单调的,不易受系统时间变化的影响。我不知道微软是否支持 WinCE 的 C++11。

于 2015-04-24T17:21:40.673 回答
0

我确实最终使用了GetTickCount(),效果很好。

根据微软的文档:

自系统启动以来经过的毫秒数表示成功。

这是一个单调的计数器,这正是我要找的。返回值的粒度取决于硬件,但在我使用的硬件中似乎足以满足我的目的。

于 2016-04-22T17:29:33.877 回答