使用できることはわかっていますclock_gettime(CLOCK_MONOTONIC)
。
私が尋ねようとしている質問は、エポックから言うナノ秒単位の時間が必要な場合、それは膨大な数になるということです。
例えば:
13438461673
そう13438461673 * 1000000000
64ビット整数内に収めるにはどうすればよいですか?
CLOCK_MONOTONIC
これは任意のエポックからのものであり、実際にはマシンごとに、またLinuxでの起動ごとに異なります。あなたはそれを使用する必要があります間隔を測定するためにのみ、すなわち
(int64_t)(after.tv_sec - before.tv_sec) * (int64_t)1000000000UL
+ (int64_t)(after.tv_nsec - before.tv_nsec)
。タイムスタンプにCLOCK_REALTIME
は、1970-01-01 00:00:00 UTCエポックを使用するため、を使用します。ナノ秒の精度でタイムスタンプをint64_t
処理できますCLOCK_REALTIME
–
(int64_t)(t.tv_sec) * (int64_t)1000000000 + (int64_t)(t.tv_nsec)
–、少なくとも1679年から2261年までの日付。範囲は±145年ではなく±292年です。
-名目上の動物
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加