2010-02-19 5 views
3

Можно создать дубликат:
C++ Timer function to provide time in nano secondsSystem.nanoTime() эквивалент в C

мне нужно, чтобы выйти из цикла при приближении 3 секунды, так что мне нужно, чтобы вычислить время, прошедшее ,

Я переезжаю некоторый код из Java в C, и я использую легкий System.nanoTime() в Java,

Как бы я сделать это в C?

Я заметил, что время (NULL) вернет секунды, но я ищу больше точности.

Спасибо заранее

+0

боян? http://stackoverflow.com/questions/275004/c-timer-function-to-provide-time-in-nano-seconds –

ответ

0

использования gettimeofday, он имеет разрешение микросекунд. System.nanoTime() в Java обычно реализуется с использованием gettimeofday на * nixes

+0

Внимание! gettimeofday может сообщать значение в микросекундах, но фактическое разрешение зависит от платформы. Он не обновляется с такой скоростью. – Clifford

0

Для разрешения вы хотите, clock() из стандартной библиотеки C достаточно:

#include <time.h> 
#define RUNTIME_MAX_SEC 3 

clock_t start = clock(); 
while(clock() - start < CLOCKS_PER_SEC * RUNTIME_MAX_SEC) 
{ ... } 
Смежные вопросы