Domanda

Linux / Unix / Posix fornisce un'API alle applicazioni dello spazio utente per accedere a un clock in aumento monotono, con precisione da centisecondo a millisecondo?

Su Linux, / proc / uptime fornisce una rappresentazione basata su stringa di un numero in virgola mobile del numero di secondi in cui il sistema è attivo.

gettimeofday (2) non fornisce un orologio monotonicamente crescente.

Potrei usare getitimer (2) nel dominio del tempo ITIMER_REAL, impostare il timer per iniziare al massimo (dipendente dalla piattaforma) e ignorare il segnale generato, ma secondo la pagina man il tempo più lungo per cui il timer può funzionare è di circa 100 giorni, che è più breve del mio tempo di esecuzione previsto.

È stato utile?

Soluzione

Utilizza la funzione POSIX clock_gettime () con CLOCK_MONOTONIC . Vedi la pagina man per i dettagli.

Altri suggerimenti

C'è clock_gettime:

struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top