Question

Est-ce que Linux / Unix / Posix fournit une API aux applications d’espace utilisateur pour accéder à une horloge qui augmente de façon monotone, avec une précision de une centiseconde à une milliseconde?

Sous Linux, / proc / uptime fournit une représentation sous forme de chaîne d'un nombre à virgule flottante représentant le nombre de secondes pendant lesquelles le système a été activé.

gettimeofday (2) ne fournit pas une horloge à croissance monotone.

Je pourrais utiliser getitimer (2) dans le domaine temporel ITIMER_REAL, régler le minuteur pour qu'il démarre au maximum (dépendant de la plate-forme) et ignorer le signal généré, mais selon la page de manuel, le minuteur peut fonctionner le plus longtemps (environ 100) jours, ce qui est plus court que mon temps d'exécution prévu.

Était-ce utile?

La solution

Utilisez la fonction POSIX clock_gettime () avec CLOCK_MONOTONIC . Consultez la page de manuel pour plus de détails.

Autres conseils

Il y a clock_gettime:

struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top