кросс-платформенный таймер высокого разрешения в C? - PullRequest
1 голос
/ 19 апреля 2011

Я пытаюсь выучить c, перенеся одно из моих приложений. Я ищу таймер высокого разрешения, который работает на Linux, Mac и Windows.

Попытка сохранить с вещами, которые являются ANSI C99. Я использую mingw и gcc, поэтому все библиотеки GNU также должны быть в порядке?

Я посмотрел на time.h; но все, что я читаю, предупреждает о часах (тиках процессора) не надежно на разных платформах, и вы не можете получить «реальное время» (вместо времени процессора) с разрешением менее 1 секунды.

Есть ли такие библиотеки, как Boost для C?

Ответы [ 2 ]

1 голос
/ 19 апреля 2011

Попробуйте gettimeofday из sys / time.h.Хотя это не таймер hi-res , он более точен, чем функция time.

0 голосов
/ 19 апреля 2011

Не могли бы вы объяснить, что вы подразумеваете под clock () как "ненадежный"? Функция возвращает значение типа clock_t того, сколько тиков прошло с момента запуска программы. Количество тактов в секунду определяется макросом CLOCKS_PER_SEC, который в большинстве систем равен 1000, что означает, что каждый такт соответствует миллисекунде времени. Надеюсь, этого разрешения достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...