Hvordan beregne tid i C i Linux

Ved beregning presise tidsforskjeller i C på Linux operativsystem, er det viktig å ikke bruke den populære "klokke" funksjon siden det bare returnerer tid i sekunder, i motsetning til i Windows der den returnerer i millisekunder. For mikro og millisekund beregninger, kan du bruke "gettimeofday" -funksjonen, som fungerer på riktig måte i Linux. Du kan ringe funksjonen to ganger og deretter bruke subtraksjon å beregne tiden som har gått.

Bruksanvisning

1 Åpne C kildefilen i et Linux-C editor.

2 Inkluder systemet tid header på toppen av filen ved å legge inn koden "# Include <sys / time.h>". Dette gir deg tilgang til "gettimeofday" -funksjonen.

3 Erklærer 2 "timeval" strukturer for å lagre i begynnelsen og slutten tidsinformasjon ved å legge inn koden "struct timeval t_start, t_end ;."

4 Erklærer 3 "lange" variabler til å lagre sekunder, mikrosekunder og millisekunder av medgått tid ved å legge inn koden "lang mil_time, sec_time, usec_time ;."

5 Kaller "gettimeofday" funksjonen for å få gjeldende tid ved å legge inn koden "gettimeofday (& t_start, NULL) ;."

6 Kaller "gettimeofday" funksjon igjen etter at programmet har utført annen kode, ved å legge inn koden "gettimeofday (& t_end, NULL) ;."

7 Beregn forløpt sekunder med koden "sec_time = t_end.tv_sec - t_start.tv_sec;", medgått mikrosekunder med koden "usec_time = t_end.tv_usec - t_start.tv_usec;" og millisekunder med koden "mil_time = ((1000 * sec_time) + (usec_time / 1000,0) + 0,5 ;." The "0.5" tillegg er for avrunding formål.

8 Lagre C kildefilen, kompilere og kjøre programmet.