Android 5.0 std::clock() 运行得更快

Android 5.0 std::clock() runs faster

我正在编写一个本机 android 应用程序,它使用 std::clock() 计算经过的时间(以毫秒为单位)。计算经过时间的示例代码如下:

elapsedTime = ((float)(std::clock() - startTime)/CLOCKS_PER_SEC) * 1000; 

但是,它似乎与常规时钟(笔记本电脑的时钟或常规手表)完全不匹配。例如,30 秒的 elapsedTime 结果等于普通手表的 20 秒。不过,这在以前版本的 android(4.0 等)上运行良好。关于为什么它在 Android OS.

的不同版本上表现不同的任何提示

方案一:(CTT回复):C++ obtaining milliseconds time on Linux -- clock() doesn't seem to work properly

解决方案 2:(Harism 的评论)这里解释说 std:clock 与 wallclock 相比可能会产生相当大的差异(参见示例程序输出); en.cppreference.com/w/cpp/chrono/c/clock