#import <stdio.h>
#import <time.h>
int main (void) {
printf("Clock ticks per second: %d\n", CLOCKS_PER_SEC);
double check = clock();
int timex = time(NULL);
for (int x = 0; x <= 500000; x++) {
printf(".");
}
puts("\n");
printf("Total Time by Clock: %7.7f\n", (clock() - check)/CLOCKS_PER_SEC);
printf("Total Time by Time: %d\n", time(NULL) - timex);
getchar();
}
當我執行上面的代碼中,我得到這樣的結果:壞的結果:時間(NULL)和時鐘()
總時間由時鐘:0.0108240
總時間由時間:12
我希望clock()代表一個儘可能接近時間的數字。
上面介紹的總時間是在macbook上完成的,但是,我的筆記本電腦上的代碼工作得很好(windows)。
CLOCKS_PER_SECOND宏在PC上返回1000,在MAC上返回1,000,000。
謝謝你。是否有任何工作全面的mac我可以做到實現掛鐘時間嚴格爲C,只使用標準庫的使用時間? – Crosility 2011-05-06 13:01:43
使用例如gettimeofday() – nos 2011-05-06 13:31:05
或更現代的'clock_gettime',它可以提供高達納秒的分辨率。 – 2011-05-06 13:50:27