【发布时间】:2011-06-12 13:11:38
【问题描述】:
我还是 C++ 的新手,时钟功能是绝对的(意味着它计算你的睡眠时间),还是应用程序实际执行的时间?
我想要一种可靠的方法来产生 1 秒的精确间隔。我正在保存文件,所以我需要考虑这一点。我以毫秒为单位返回运行时,然后在其余时间休眠。
有没有更准确或更简单的方法来做到这一点?
编辑: 我遇到的主要问题是我得到一个负数:
double FCamera::getRuntime(clock_t* end, clock_t* start)
{
return((double(end - start)/CLOCKS_PER_SEC)*1000);
}
clock_t start = clock();
doWork();
clock_t end = clock();
double runtimeInMilliseconds = getRuntime(&end, &start);
它给了我一个负数,这是怎么回事?
沃尔特
【问题讨论】:
-
差异被称为“Wall time”与“CPU time”。
-
我想我只是想通了,我想我是在传递地址并进行地址运算。
-
我想通了,我在取消引用并减去地址。