1

我要疯了吗?我在 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 替代方案?

4

2 回答 2

4

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

于 2012-11-22T10:36:03.947 回答
0

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

于 2012-11-22T10:50:29.823 回答