11

Qtのドキュメントについては次のようにQTime::currentTime()述べています:

精度は、基盤となるオペレーティング システムの精度に依存することに注意してください。すべてのシステムが 1 ミリ秒の精度を提供するわけではありません。

しかし、Windows 7でミリ秒の精度でこの時間を取得する方法はありますか?

4

4 に答える 4

3

C/C++ の time.h ヘッダー ファイルによって提供される機能を使用できます。

#include <time.h> 
clock_t start, end; 
double cpu_time_used; 
int main()
{
    start = clock();
    /* Do the work. */ 
    end = clock(); 
    cpu_time_used = ((double)(end-start)/ CLOCKS_PER_SEC);
}
于 2015-07-30T20:07:33.940 に答える
2

タイマーの解像度はプラットフォームによって異なる場合があり、読み取り値が正確でない場合があります。Windows 7 で高解像度の正確なタイムスタンプを取得する必要がある場合は、QPC API が提供されます。

https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408%28v=vs.85%29.aspx

GetSystemTimePreciseAsFileTime1us未満の解像度でシステム時間を提供すると主張されています。

しかし、それは正確なタイムスタンプについてのみです。実際に 1 ミリ秒のレイテンシーで何かを行う必要がある場合 (イベントの処理など)、デスクトップの不格好なツールではなく、RTOS が必要です。

于 2015-07-30T20:22:29.900 に答える