Pergunta

O Linux / Unix / POSIX fornecer uma API para aplicações de espaço de usuário para acessar um relógio monótona crescente, com centisecond a precisão de milissegundos?

No Linux, / proc / uptime fornece uma representação à base de cadeia de um número de ponto flutuante do número de segundos que o sistema foi-se.

gettimeofday (2) não fornece um relógio monótona crescente.

Eu poderia usar getitimer (2) no domínio do tempo ITIMER_REAL, definir o temporizador para começar no (depende da plataforma) máxima e ignorar o sinal gerado, mas de acordo com a página do homem o mais longo o temporizador pode ser executado por é de aproximadamente 100 dias, que é mais curto do que o meu tempo de execução esperado.

Foi útil?

Solução

Use a função clock_gettime() POSIX com CLOCK_MONOTONIC. Veja a homem página para mais detalhes.

Outras dicas

Há clock_gettime:

struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top