C中的跨平台高分辨率定时器?
我正在尝试通过移植我的一个应用程序来学习c语言。我正在寻找一个在linux、mac和windows上工作的高分辨率计时器 努力保持符合ANSI C99标准的东西。我使用的是mingw和gcc,所以任何gnulib也可以吗 我看着时间;但是,我读到的所有关于时钟(cpu时钟)的警告在不同平台上都是不可靠的,也无法获得小于1秒的“实时”(而不是cpu时间)分辨率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。虽然这不是一个高分辨率计时器,但它比
是否有类似于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中的时间输入未被弃用。时钟-返回程序消耗的处理器时间。这不是“墙”时钟-返回程序消耗的处理器时间。这不是“墙”时间