【发布时间】:2010-11-29 11:43:11
【问题描述】:
如何在 C 中标记两次 t1 和 t2 并获得以毫秒为单位的差异?
【问题讨论】:
-
你不能单独使用标准 C 来做到这一点。对于 Linux、Windows、手机、收银机、...、微波炉、...,您可能拥有的解决方案会有所不同。
-
@Christoph:time() 和 clock() 都可以返回 -1(转换为适当的类型)以表示该函数在该实现中不可用......和 time(),如果可用, 分辨率为 1 秒或更差。我仔细阅读了标准,但没有发现 clock() 函数有任何硬性限制
-
在 Linux 手册页中:“请注意,时间可以回绕。在 CLOCKS_PER_SEC 等于 1000000 的 32 位系统上,此函数将大约每 72 分钟返回相同的值。”获取 CPU 时间 getrusage() 更好,虽然时钟是 ANSI C 的一部分,但 getrusage/gettimeofday() 不是。