我正在编写一个原生的Android应用程序,它使用std :: clock()计算经过的时间(以毫秒为单位)。计算经过时间的示例代码如下:
elapsedTime = ((float)(std::clock() - startTime)/CLOCKS_PER_SEC) * 1000;
然而,它似乎与常规时钟(笔记本电脑的时钟或常规手表)完全匹配。例如,30秒的逝去时间等于常规手表的20秒。这在以前版本的android(4.0等)上工作正常。关于它为何在不同版本的Android OS上表现不同的任何提示。
答案 0 :(得分:1)
解决方案1 :( CTT回复):C++ obtaining milliseconds time on Linux -- clock() doesn't seem to work properly
解决方案2 :( Harism评论)这里说明了std:与wallclock相比,clock可能会有很大差异(参见示例程序输出); en.cppreference.com/w/cpp/chrono/c/clock