double get_dtime(void)
{
struct timeval tv;
gettimeofday(&tv, NULL);
//ミリ秒を計算
return ((double)(tv.tv_sec)*1000 + (double)(tv.tv_usec)*0.001); //★
}
プログラムスピードを計る際、↑のような関数を作成して使用するとよいと調べたのですが、★の行で何をしているのかわかりません。
tv_secは秒、tv_usecはマイクロ秒だと思うのですが、なぜこのような計算をして、ミリ秒が返るのでしょうか…。
特に、足し算の部分で何をしているのかわかりません。
調べてもわからなかったので、どなたか詳しい方がおられましたら、解説をしていただけるとうれしいです。