Clock_gettime...

Résolu
StayCrunchy Messages postés 43 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 26 février 2014 - 29 avril 2011 à 04:39
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 "

6 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
29 avril 2011 à 09:31
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
3
cptpingu Messages postés 3839 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 29 juin 2024 124
29 avril 2011 à 11:16
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
3
StayCrunchy Messages postés 43 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 26 février 2014
29 avril 2011 à 04:42
clock_gettime( id_t, &time);
j'ai oublié le & dans ce que j'ai ecris juste avant
0
StayCrunchy Messages postés 43 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 26 février 2014
29 avril 2011 à 15:14
En effet, c'était un problème de compilation (c'était d’ailleurs précisé dans le man ... ) .
Merci pour le coup de pouce ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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:13
La solution de Cpt_pingu marche parfaitement
0
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
ps : Merci ;)
0
Rejoignez-nous