time.h中的时钟()在OS X坏了吗?(time.h clock() broken on OS

2019-10-17 10:13发布

我是不是要疯了? 我在x86_64运行此。

#include <stdio.h>
#include <time.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
    printf("Clock: %f\n", clock() / (double)CLOCKS_PER_SEC);
    sleep(1);
    printf("Clock: %f\n", clock() / (double)CLOCKS_PER_SEC);
    sleep(1);
    printf("Clock: %f\n", clock() / (double)CLOCKS_PER_SEC);
    return 0;
}

这版画

钟:0.002880
钟:0.002968
钟:0.003019

它清楚地等待在第二sleep(1)线,但是在输出显然是错误的。

如果不工作,有一个可移植的C替代?

Answer 1:

我是个白痴。 clock()返回用于处理器时间



Answer 2:

你可以声明一个变量time_t t1,t2; t1 = time(NULL); sleep(1); t2 = time(NULL); 您可以调试并查看t1和t2的值。 我想你可以从采取参考http://www.cplusplus.com/reference/clibrary/ctime/time/



文章来源: time.h clock() broken on OS X?