23.2.5. Таймеры в Glib

23.2.5. Таймеры в Glib

Библиотека Glib позволяет использовать таймеры в наших программах.

Для этого нужно:

? подключить заголовочный файл gtimer.h;

? создать таймер функцией GTimer *g_timer_new();

? запустить таймер функцией g_timer_start(GTimer *timer);

? узнать время, отсчитанное таймером — g_timer_elapsed();

? при необходимости перезапустить таймер с помощью функции g_timer_reset(GTimer *timer);

? остановить таймер функцией g_timer_stop(GTimer * timer);

? уничтожить таймер — g_timer_destroy(GTimer *timer).

Стоит остановиться подробнее лишь на функции g_timer_elapsed(GTimer *timer, gulong *mcs). Данная функция возвращает число секунд, отсчитанное таймером. По адресу указателя *mcs записывается число микросекунд.

Пример использования таймера представлен в листинге 23.1.

Листинг 23.1. Использование таймера

#include <stdio.h>

#include <glib.h>

#include <gtimer.h>

int main() {

 double sec;

 gulong ms;

 int i;

 GTimer *timer = g_timer_new();

 printf("Данный цикл будет работать не более 10 секунд ");

 g_timer_start(timer);

 for (i=1; i>0;) {

  sec = g_timer_elapsed(timer,&ms);

  if (sec >=10) {

   g_timer_stop(timer);

   printf("Таймер остановлен. Мкс: %d ",ms);

   break;

  }

 }

 g_timer_destroy(timer);

 return 0;

}

Данный текст является ознакомительным фрагментом.