C中的跨平台高分辨率计时器?

时间:2011-04-19 04:13:56

标签: c timer

我正在尝试通过移植我的某个应用程序来学习c。我正在寻找适用于linux,mac和windows的高分辨率计时器。

尝试保留ANSI C99的内容。我正在使用mingw和gcc,所以任何GNU库也应该没问题?

我看着time.h;但我读到的所有内容都警告时钟(cpu ticks)在各个平台上都不可靠,也不能让你的“实时”(而不是cpu时间)小于1秒的分辨率。

是否有像Boost for C的库?

2 个答案:

答案 0 :(得分:1)

从sys / time.h尝试gettimeofday。虽然这不是 hi-res 计时器,但它比time函数更准确。

答案 1 :(得分:0)

你能解释一下clock()不是“可靠”的意思吗?该函数返回一个类型为clock_t的值,表示自程序启动以来已经过了多少个tick。每秒的滴答数由宏CLOCKS_PER_SEC定义,在大多数系统上为1000,这意味着每个滴答对应于毫秒时间。希望这个解决方案足够了。