Equivalent de gettimeofday sous win

Equivalent de gettimeofday sous win - C++ - Programmation

Marsh Posté le 05-01-2006 à 04:15:55    

Salut,
 
   Voila j'ai un ptit souci la avec gettimeofday() :
 

Code :
  1. timeval tim;
  2.              gettimeofday(&tim, NULL);
  3.              double t1=tim.tv_sec+(tim.tv_usec/1000000.0);
  4.              do_something_long();
  5.              gettimeofday(&tim, NULL);
  6.              double t2=tim.tv_sec+(tim.tv_usec/1000000.0);
  7.              printf("%.6lf seconds elapsed\n", t2-t1);


 
Ca passe pas sous windows il connait pas le gettimeofday() donc je cherche un truc un peu similaire ... clock me convient pas vraiement en fait.


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 05-01-2006 à 04:15:55   

Reply

Marsh Posté le 05-01-2006 à 07:50:17    

Tu rajoutes qqchose comme cela par exemple
 

Code :
  1. #ifdef WIN32
  2. #include <time.h>
  3. #include <sys/timeb.h>
  4. int gettimeofday (struct timeval *tp, void *tz)
  5. {
  6. struct _timeb timebuffer;
  7. _ftime (&timebuffer);
  8. tp->tv_sec = timebuffer.time;
  9. tp->tv_usec = timebuffer.millitm * 1000;
  10. return 0;
  11. }
  12. #endif


 
Et apres tu utilises gettimeofday qqsoit l'OS

Message cité 1 fois
Message édité par Fullblaster le 05-01-2006 à 07:50:53
Reply

Marsh Posté le 05-01-2006 à 10:24:38    

En Win32 y'a GetSystemTime.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 05-01-2006 à 13:54:20    

Un bout de code qui traine

Code :
  1. // /////////////////////////////////////////////////////////////////////////
  2.     // Evaluates time at a given spot.
  3.     // /////////////////////////////////////////////////////////////////////////
  4.     double  now()
  5.     {
  6.       LARGE_INTEGER tick, freq;
  7.       freq = GetFrequency();
  8.       QueryPerformanceCounter(&tick);
  9.       return tick.QuadPart / freq.QuadPart;
  10.     }
  11.     // /////////////////////////////////////////////////////////////////////////
  12.     // Win32 timing specific function.
  13.     // Returns 0 on non-capable machines (Pentium 75 & inferior mostly)
  14.     // /////////////////////////////////////////////////////////////////////////
  15.     LARGE_INTEGER GetFrequency()
  16.     {
  17.       LARGE_INTEGER freq;
  18.       QueryPerformanceFrequency(&freq);
  19.       return freq;
  20.     }


 
now() te renvois le temps courant en s.
 
donc tu fais :
 

Code :
  1. double t1 = now();
  2. // du code a timer
  3. double t2 = now() - t1;
  4. cout << "temps ecoule : " << t2 << endl;

Reply

Marsh Posté le 05-01-2006 à 14:02:00    

Fullblaster a écrit :

Tu rajoutes qqchose comme cela par exemple
 

Code :
  1. #ifdef WIN32
  2. #include <time.h>
  3. #include <sys/timeb.h>
  4. int gettimeofday (struct timeval *tp, void *tz)
  5. {
  6. struct _timeb timebuffer;
  7. _ftime (&timebuffer);
  8. tp->tv_sec = timebuffer.time;
  9. tp->tv_usec = timebuffer.millitm * 1000;
  10. return 0;
  11. }
  12. #endif


 
Et apres tu utilises gettimeofday qqsoit l'OS


 
 
C'est nickel  ... merci les gens  :)


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed