[Unix] gettimeofday
5396 ワード
gettimeofday
第1のパラメータ
成功した場合は0を返し、-1を返します.
例
References https://www.joinc.co.kr/w/man/2/gettimeofday https://velog.io/@springkim/c-linux-時間測定-gettimeofday
#include <sys/time.h>
#include <unistd.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
gettimeofday()
は、マイクロ秒単位の時間で返される.第1のパラメータ
tv
は、以下に示すように、システム時間を記憶するための構造体として定義される.struct timeval
{
long tv_sec; // 초
long tv_usec; // 마이크로초
}
2番目のパラメータtz
は、タイムゾーンを設定するために使用される.timezone
構造体は現在使用されておらず、今後も支持されない.複雑に考慮する必要はありません.tz
はNULL
を使用します.成功した場合は0を返し、-1を返します.
例
#include <sys/time.h> // gettimeofday, struct time val
#include <unistd.h> // sleep
#include <stdio.h>
#include <string.h>
int main(void)
{
struct timeval bgn, end;
double one_sec = 1000000.0;
double diff;
gettimeofday(&bgn, NULL);
sleep(1);
gettimeofday(&end, NULL);
diff = (end.tv_sec - bgn.tv_sec) + ((end.tv_usec - bgn.tv_usec) / one_sec);
printf("%f\n", diff);
return 0;
}
Linuxでは,clock()
関数はcpu時間のみを測定するため,cpuが占有しない場合は測定を行わず,時間測定には使用できない.References
Reference
この問題について([Unix] gettimeofday), 我々は、より多くの情報をここで見つけました https://velog.io/@t1won/Unix-gettimeofdayテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol