horloge

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Calcule le temps horloge utilisé par le processus appelant.

clock_t clock( void );  

Le temps écoulé depuis l’initialisation du CRT au début du processus, mesurée en CLOCKS_PER_SEC unités par seconde. Si le temps écoulé n’est pas disponible ou a dépassé le délai positif maximal qui peut être enregistré comme un clock_t type, la fonction renvoie la valeur (clock_t)(-1).

Le clock fonction indique à combien de temps horloge s’est écoulé depuis l’initialisation CRT lors du démarrage du processus. Notez que cette fonction n’est pas strictement conforme à ISO C, qui spécifie le temps processeur net comme valeur de retour. Pour obtenir le temps UC, utilisez Win32 GetProcessTimes (fonction). Pour déterminer le temps écoulé en secondes, divisez la valeur retournée par le clock fonction par la macro CLOCKS_PER_SEC.

Avec le temps, la valeur retournée par clock peut dépasser la valeur positive maximale de clock_t. Lorsque le processus s’exécute plus longtemps, de la valeur retournée par clock est toujours (clock_t)(-1), tel que spécifié par la norme ISO C99 (7.23.2.1) et la norme ISO C11 (7.27.2.1). Microsoft implémente clock_t comme un long, un entier signé de 32 bits et le CLOCKS_PER_SEC macro est définie en tant que 1000. Cela donne un maximum clock fonction de valeur de retour de 2147483,647 secondes ou 24.8 jours environ. Ne comptez pas sur la valeur retournée par clock dans les processus qui ont été exécutées pendant plus de cet intervalle de temps. Vous pouvez utiliser le 64 bits time (fonction) ou Windows QueryPerformanceCounter fonction à temps des processus d’enregistrement de nombreuses années.

RoutineEn-tête requis
clock<time.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

// crt_clock.c  
// This sample uses clock() to 'sleep' for three 
// seconds, then determines how long it takes  
// to execute an empty loop 600000000 times.  
  
#include <stdio.h>  
#include <stdlib.h>  
#include <time.h>  
  
// Pauses for a specified number of milliseconds.  
void do_sleep( clock_t wait )  
{  
   clock_t goal;  
   goal = wait + clock();  
   while( goal > clock() )  
      ;  
}  
  
const long num_loops = 600000000L;

int main( void )  
{  
   long    i = num_loops;  
   clock_t start, finish;  
   double  duration;  
  
   // Delay for a specified time.  
   printf( "Delay for three seconds\n" );  
   do_sleep( (clock_t)3 * CLOCKS_PER_SEC );  
   printf( "Done!\n" );  
  
   // Measure the duration of an event.  
   start = clock();  
   while( i-- )   
      ;  
   finish = clock();  
   duration = (double)(finish - start) / CLOCKS_PER_SEC;  
   printf( "Time to do %ld empty loops is ", num_loops );  
   printf( "%2.3f seconds\n", duration );  
}  

Delay for three seconds  
Done!  
Time to do 600000000 empty loops is 1.354 seconds  

Gestion du temps
difftime, _difftime32, _difftime64
heure, _time32, _time64

Afficher: