与 Windows(和 Windows 嵌入式 CE)中的 CLOCK_MONOTONIC 类似的功能

Similar functionality to CLOCK_MONOTONIC in Windows (and Windows Embedded CE)

我有一些 C++ Windows 代码需要计算时间间隔。为此,它对其他 Windows 平台使用 GetCurrentFT if it detects that is running in WinCE and GetSystemTimeAsFileTime。但是,如果我没记错的话,这可能容易受到系统时钟操纵的影响(即有人更改系统时钟会使测量的时间间隔不可靠)。

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

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

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

根据 Microsoft 的文档:

The number of milliseconds that have elapsed since the system was started indicates success.

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