我在安裝在窗口上的虛擬機(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