Android 5.0 std::clock()运行速度更快

Android 5.0 std::clock()运行速度更快,android,android-ndk,Android,Android Ndk,我正在编写一个原生android应用程序,它使用std::clock()计算以毫秒为单位的运行时间。用于计算运行时间的示例代码如下: elapsedTime = ((float)(std::clock() - startTime)/CLOCKS_PER_SEC) * 1000; 然而,它似乎与普通时钟(笔记本电脑的时钟或普通手表)根本不匹配。例如,30秒的elapsedTime等于常规手表的20秒。不过,这在以前版本的android(4.0等)上运行良好。任何关于为什么它在不同版本的Andr

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

elapsedTime = ((float)(std::clock() - startTime)/CLOCKS_PER_SEC) * 1000; 
然而,它似乎与普通时钟(笔记本电脑的时钟或普通手表)根本不匹配。例如,30秒的elapsedTime等于常规手表的20秒。不过,这在以前版本的android(4.0等)上运行良好。任何关于为什么它在不同版本的Android操作系统上表现不同的提示。

解决方案1:(由CTT回复):


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

这里解释了std:与Wallcock相比,时钟可能会产生很大的差异(参见示例程序输出)。我尝试了这段代码来计算挂钟时间,但是,它仍然运行得更快。有没有办法计算挂钟经过的时间?