gpt4 book ai didi

c++ - clock() 无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:56 25 4
gpt4 key购买 nike

我试图估计一个代码块的持续时间(特别是为了获得帧速率独立的基于物理的动画的时间步长,因此分辨率应该以毫秒为单位)。 stack overflow这里的问题大多推荐clock()方法,我试过了,但是好像不能正常使用。我已经使用 gettimeoftheday() 方法解决了这个问题,但我仍然很好奇为什么 clock() 会失败。这是我的代码块:

for (int i = 0; i < 10000; i++)
{
std::cout << "time: " << clock() << std::endl;
usleep(1000);
}

这会以一定的速度打印时间。当我将 usleep 值增加到 1000000 时,打印时钟值的增长率急剧下降。我认为 clock() 应该给出一个与绝对时间值相关的值,独立于我的代码。

提前致谢。

PS:为了提前排除可能的误解,我不是在提示打印率下降了。 usleep(1000) 和 usleep(1000000) 在某个 delta 时间打印的 VALUE 是不一样的。

最佳答案

I thought clock() should give a value related to an absolute time value

你想错了。来自其规范(C99 7.32.2.1)

The clock function determines the processor time used.

使用 time,或者来自 std::chrono 库的合适的时钟,或者像 clock_gettimegettimeofday 这样不太便携的东西,如果你想要绝对时间。

关于c++ - <time.h> clock() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com