我在安装在窗口上的虚拟机(Linux Ubuntu)中编写代码。 据this page,在Linux上的库CLOCKS_PER_SEC值应始终为1 000 000
当我运行这段代码:虚拟机中CLOCKS_PER_SEC值“错误”
int main()
{
printf("%d\n", CLOCKS_PER_SEC);
while (1)
printf("%f, %f \n\n", (double)clock(), (double)clock()/CLOCKS_PER_SEC);
return 0;
}
第一个值是1 000 000所应当的,但是,应显示秒数的值不会以正常速度增加(需要4到5秒才能增加1)
这是否是由于我在虚拟机上工作?我该如何解决这个问题?
你不能使用'clock'自己返回的值,它没有任何意义。您必须使用两个呼叫之间的差异。 –
'clock'返回'clock_t'。这不一定是'%f'需要的'double'。 – Olaf
@Someprogrammerdude这是一个旨在测试的代码。我看单位数字以及它随着时间的推移如何变化 – Speedphoenix