Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C中的跨平台高分辨率定时器?_C_Timer - Fatal编程技术网

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

C中的跨平台高分辨率定时器?,c,timer,C,Timer,我正在尝试通过移植我的一个应用程序来学习c语言。我正在寻找一个在linux、mac和windows上工作的高分辨率计时器 努力保持符合ANSI C99标准的东西。我使用的是mingw和gcc,所以任何gnulib也可以吗 我看着时间;但是,我读到的所有关于时钟(cpu时钟)的警告在不同平台上都是不可靠的,也无法获得小于1秒的“实时”(而不是cpu时间)分辨率 是否有类似于Boost for C的lib?请尝试从sys/time.h获取gettimeofday。虽然这不是一个高分辨率计时器,但它比

我正在尝试通过移植我的一个应用程序来学习c语言。我正在寻找一个在linux、mac和windows上工作的高分辨率计时器

努力保持符合ANSI C99标准的东西。我使用的是mingw和gcc,所以任何gnulib也可以吗

我看着时间;但是,我读到的所有关于时钟(cpu时钟)的警告在不同平台上都是不可靠的,也无法获得小于1秒的“实时”(而不是cpu时间)分辨率


是否有类似于Boost for C的lib?

请尝试从sys/time.h获取
gettimeofday
。虽然这不是一个高分辨率计时器,但它比
time
函数更精确。

尝试从sys/time.h获取
gettimeofday
。虽然这不是一个高分辨率计时器,但它比
time
函数更精确。

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

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

这不是最漂亮的解决方案,但您也可以使用
GLFW
库(小型OpenGL支持库)中的高精度计时器。它具有很好的便携性,并且使用系统上可用的最高精度计时器。因此,精度在不同的平台上可能会有所不同。GLFW计时器已被弃用。不,GLFW中的时间输入未被弃用。这不是最漂亮的解决方案,但您也可以使用
GLFW
库(小型OpenGL支持库)中的高精度计时器。它具有很好的便携性,并且使用系统上可用的最高精度计时器。因此,精度在不同的平台上可能会有所不同。GLFW计时器已被弃用。否,GLFW中的时间输入未被弃用。时钟-返回程序消耗的处理器时间。这不是“墙”时钟-返回程序消耗的处理器时间。这不是“墙”时间