【问题标题】:Current microsecond time in C?C中的当前微秒时间?
【发布时间】:2011-07-15 07:05:38
【问题描述】:

如何在 Unix 平台上以 C 语言打印当前微秒时间?

【问题讨论】:

标签: c unix time


【解决方案1】:

没有可移植(多平台)的方式来获取该号码。例如,在 Linux(或其他 POSIX 系统)上,调用 gettimeofday 提供了准确的精度(但精度取决于该时间是否可用并在特定硬件上实现)。

【讨论】:

  • 严格来说,我认为它提供了精度,不一定是那种精度。但 AFAIK 是您在挂钟时间所能获得的最好结果。
  • @Steve Jessop:谢谢。已更正。
【解决方案2】:

在 Linux 和 BSD 中,您可以使用 gettimeofday() 函数。这将填充一个 timeval 结构,该结构具有一个自纪元以来的秒数和微秒数的字段。此功能已弃用。更高分辨率的clock_gettime() 是最受欢迎的替代品,但是 Mac OS X 没有实现它。我不确定 Windows 是否实现了其中任何一个。

【讨论】:

【解决方案3】:

C 标准没有为此提供标准方法。但是clock() 函数以 CLOCK 的形式返回时间。一秒钟内有CLOCKS_PER_SEC CLOCK。在我的机器和实现中,CLOCKS_PER_SEC 定义为 1000。clockCLOCKS_PER_SEC 都在 <time.h> 中定义。希望这有帮助

【讨论】:

    【解决方案4】:

    如果您使用的是 linux,我会查看此站点:http://rabbit.eng.miami.edu/info/functions/time.html 特别是“gettimeofday”功能。您可以传递一个结构,并以微秒为单位获取一天中的时间。

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 2010-12-15
      • 2014-04-07
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多