Clock_gettime... [Résolu]

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

Votre réponse

6 réponses

Meilleure réponse
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
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 a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_jopop
Messages postés
3830
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
19 novembre 2018
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 a aidé 104 internautes ce mois-ci

Commenter la réponse de cptpingu
Messages postés
43
Date d'inscription
mercredi 24 novembre 2010
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
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
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
Dernière intervention
26 février 2014
0
Merci
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.