0

2つの長いintを追加するのに苦労しています。基本的に、これら2つの変数を使用するのにかかった「合計」時間であり、0を取得し続けます。

struct rusage rusage;
getrusage(RUSAGE_SELF, &rusage); 
printf("TOTAL TIME \n");
printf("%ld.%06ld", (rusage.ru_utime.tv_sec, rusage.ru_utime.tv_usec), 
                    (rusage.ru_stime.tv_sec, rusage.ru_stime.tv_usec));

0を出力します。ユーザー時間、システム時間は出力できますが、追加できません。助けてください。

著者が望んでいるのは、2つのlong整数だけを追加するのではなく、それぞれ2つtimevalの構造体の秒とマイクロ秒を追加することです。

4

5 に答える 5

0

私もあなたの主張を理解できません。多分それは

double total_time = (rusage.ru_utime.tv_sec + rusage.ru_stime.tv_sec) / 1000.0
  + (rusage.ru_utime.tv_usec + rusage.ru_stime_tv_usec) * 1000

total_time の単位はミリ秒です。

于 2013-03-14T07:06:08.873 に答える