Bonjour,
dans un précédent post (http://www.developpez.net/forums/sho....php?t=324071), j'ai crée un chronomètre mais souviron34 m'a dit que je n'utilisais pas une bonne méthode. Il m'a donc proposé la solution suivante (http://www.developpez.net/forums/sho...87&postcount=9) que je simplifie (pour plus de clarté pour le post) de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#include <time.h>
#include <sys/time.h>
#ifdef LINUX
#include <unistd.h>
#endif
 
double GetClock ( void )
{
  double d ; 
  struct timeval tval ;
  struct timezone *tz=(struct timezone *)NULL ;
  timerclear(&tval);
  gettimeofday(&tval, tz);
  d = ((double)(tval.tv_usec)/1000000.0) ;
  d = (double) tval.tv_sec + d ;
 
  return d ;
}
j'ai deux questions à propos de ce code :

1) quelle est la différence entre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  struct timezone *tz=(struct timezone *)NULL ;
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  struct timezone *tz=NULL ;
?

2) si je fais le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
int main(void)
{
  double   t_start, t_end;
  t_start=GetClock();
  printf("t_start = %g\n",t_start);
  sleep(3); /* code a mesurer */
  t_end=GetClock();
  printf("t_end = %g\n",t_end);
  printf("%g\n",t_end-t_start); 
 
  return 0;
}
qu'est-ce qui me garanti que t_end est supérieur à t_start ? Quelle est la différence par rapport à ce que j'avais fait (cf http://www.developpez.net/forums/sho...d.php?t=324071) ? Il doit y avoir qqch que je n'ai pas encore bien saisi.

Merci.