Clock_gettime... [Résolu]

Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
26 février 2014
- - Dernière réponse : StayCrunchy
Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
26 février 2014
- 29 avril 2011 à 16:14
Bonjour,
Voila, je veux calculer la durée d'execution de mon petit programme et ce de maniere précise (car c'est très très rapide).
Alors j'ai cherché un peu et j'ai voulu utiliser clock_gettime() (j'utilise gcc sous linux).
Alors je dois comprendre quelque chose de travers parce que je ne parviens pas du tout à l'utiliser...

j'ai ecris un truc simple donc ceux qui connaissent la fonction devraient voir l'erreur tout de suite :

#include <time.h>

int main()
{
...struct timespec time;
...clockid_t id_t = CLOCK_REALTIME;

...clock_gettime(id_t, time);
}


quand je veux compiler, j'obtiens :
"undefine reference to clock_gettime "
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
3
Merci
Salut,

pas super doué en C/C++ (j'en fais plus depuis des années), je suis par contre pas mauvais avec google ^^
D'après ce lien il faut ajouter la lib "rt" lors de la compilation (option -lrt).

ça vaut ce que ça vaut, mais ça se tente, nop ?

Bon courage

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jopop
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
10 juin 2019
85
3
Merci
Tu peux avoir le même résultat, sans te lier à des bibliothèques externes:
#include <stdio.h>
#include <time.h>
#include <sys/time.h>

int main(void)
{
  struct timeval begin, end;
  struct timezone tz;
  int i = 0;
  long time = 0;

  gettimeofday(&begin, &tz);
  /* Operation */
  for (i = 0; i < 100000; ++i)
    ;
  gettimeofday(&end, &tz);

  time = (end.tv_sec - begin.tv_sec) *
    1000000L + (end.tv_usec - begin.tv_usec);

  printf("%ld us\n", time);
  return 0;
}


Compiler comme ceci:
gcc -W -Wall -pedantic time.c


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cptpingu
Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
26 février 2014
0
Merci
clock_gettime( id_t, &time);
j'ai oublié le & dans ce que j'ai ecris juste avant
Commenter la réponse de StayCrunchy
Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
26 février 2014
0
Merci
En effet, c'était un problème de compilation (c'était d’ailleurs précisé dans le man ... ) .
Merci pour le coup de pouce ;)
Commenter la réponse de StayCrunchy
Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
26 février 2014
0
Merci
La solution de Cpt_pingu marche parfaitement
Commenter la réponse de StayCrunchy
Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
26 février 2014
0
Merci
ps : Merci ;)
Commenter la réponse de StayCrunchy