0

アプリケーションの一部の実行時間をカウントしようとしていますが、ミリ秒を取得する必要があり、長い実行時間も取得する必要があるためです。現在、ctime の clock_t = clock() を使用していますが、範囲が 72 分しかなく、私のニーズには適していないと思います。ミリ秒の精度を維持して大きな実行時間をカウントする他のポータブルな方法はありますか? または、何らかの方法で clock_t のこの制限を克服しますか?

4

2 に答える 2

3

最初に質問する必要があるのは、1 時間以上の期間にミリ秒単位の精度が本当に必要かということです。

単純な方法を 1 つ実行する場合 (既に実行しているライブラリを探し回ることなく)、タイマーがいつロールオーバーしたかを追跡し、それを別の変数に追加するだけです。

于 2010-06-28T15:51:50.020 に答える
2

残念ながら、クロスプラットフォームであると私が知っているものはありません(ただし、存在しないとは言えません)。

それでも、この問題を回避するのは簡単です。別のスレッド (ex: boost.thread) を作成して長時間スリープし、それまでの時間差を合計に追加してから繰り返すだけです。プログラムがシャットダウンされたら、終了する前にこのカウンターに追加できるスレッドを停止します。

于 2010-06-28T15:50:55.170 に答える