Clock_gettime... [Résolu]

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

Répondre au sujet
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 29 avril 2011 à 09:31
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_jopop
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 29 avril 2011 à 11:16
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cptpingu
StayCrunchy 43 Messages postés mercredi 24 novembre 2010Date d'inscription 26 février 2014 Dernière intervention - 29 avril 2011 à 04:42
0
Utile
clock_gettime( id_t, &time);
j'ai oublié le & dans ce que j'ai ecris juste avant
Commenter la réponse de StayCrunchy
StayCrunchy 43 Messages postés mercredi 24 novembre 2010Date d'inscription 26 février 2014 Dernière intervention - 29 avril 2011 à 15:14
0
Utile
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
StayCrunchy 43 Messages postés mercredi 24 novembre 2010Date d'inscription 26 février 2014 Dernière intervention - 29 avril 2011 à 16:13
0
Utile
La solution de Cpt_pingu marche parfaitement
Commenter la réponse de StayCrunchy
StayCrunchy 43 Messages postés mercredi 24 novembre 2010Date d'inscription 26 février 2014 Dernière intervention - 29 avril 2011 à 16:14
0
Utile
ps : Merci ;)
Commenter la réponse de StayCrunchy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.