C++でポータブルの精度の良いダブルタイムスタンプ?
サードパーティのライブラリを使用しないと、高精度のタイムスタンプ(ミリ秒)を取得する移植性の高い方法はありません。最大精度は1秒で、time
/localtime
/gmtime
です。
あなたがサードパーティのライブラリと罰金している場合は、使用するかブーストやQtの4
両方UNIXとそれを行うには、Windowsの方法はありますか?
GetSystemTime
(Windows)およびgettimeofday
(Linux)。
タイムスタンプを使用していくつかのイベントの順序を決定する予定がある場合は、悪い考えかもしれません。システムクロックの精度は非常に限定されている可能性があります(Windowsプラットフォームでは10ミリ秒)。この場合、結果として実行されるいくつかの操作で同じタイムスタンプが生成される可能性があります。したがって、イベントの順序を決定するには、"logical timestamps"(「ベクトル時計」の例の1つ)が必要です。 Windowsプラットフォーム上で
、以来、過去のある時点(QueryPerformanceCounter
)を経過しているが、それらはタイムスタンプに接続されていないどのくらいの時間を決定するために使用することができ、高精度な機能があります。
あなたは何を見てきましたか?そのような可能性はなぜ不十分ですか? [Boost](http://www.boost.org/doc/libs/1_49_0/doc/html/date_time.html)と[Qt](http://developer.qt。)の日付/時刻機能を調べましたか? nokia.com/doc/qt-4.8/qdatetime.html)?本当にタイムスタンプが 'ダブル 'になる必要がありますか? –
可能な複製の[C++クロスプラットフォーム高解像度タイマ](http://stackoverflow.com/questions/1487695/c-cross-platform-high-resolution-timer) –