なぜ私は次の操作を実行した場合:time.tv_usec
は4259840バイトを使用しているgettimeofday()とtime_tが意味をなさないのはなぜですか?
time seconds 4 useconds 4259840
:
struct timeval time;
gettimeofday(&time, NULL);
log("time seconds %i useconds %i", sizeof(time.tv_seconds), sizeof(time.tv_usec));
が、それはOpenWrtの中に戻るのか?
tv_seconds
(エポック以降)は長いlong intなので意味があります。しかし、
tv_usec
は常に100万円以下でなければなりません。
これらはどちらも長いと思われますが、何らかの理由で%liの形式の文字列に出力すると機能しません。だから私は実験して、lliはtv_secondsの間働いています。 tv_usecondsは常に間違っています。だから、私はこれらの変数が実際のサイズであるかどうか把握しようとしています。 – napierzaza
@Nathan No: 'struct timeval.tv_sec'は' long'ではなく 'time_t'として定義されています。さらに、私のマニュアルは 'struct timeval.tv_usec'が' long long'ではなく 'suseconds_t'であると伝えています。 –