time.h Clock() 在 OS X 上损坏?

joe*_*ick 1 c macos darwin clock time.h

我要疯了吗?我在 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;
}
Run Code Online (Sandbox Code Playgroud)

这打印

时钟:0.002880
时钟:0.002968
时钟:0.003019

它显然在线路上等待了一秒钟sleep(1),但输出显然是错误的。

如果这不起作用,是否有可移植的 C 替代方案?

joe*_*ick 5

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