私は現在、time.h
ライブラリによって提供されるclock()
関数を使用しています。それは私にミリ秒までの時間精度を与えます。ただし、タイミングはCPUのクロックサイクルに基づいています。私は、clock()
というCPUサイクルを使用する代わりに、ミリ秒までの精度でシステムリアルタイムを使用する機能が必要です。C++でリアルタイムをミリ秒単位で見つけるには良い方法はありますか?
gccコンパイラでlinuxを使用しています。
私は現在、time.h
ライブラリによって提供されるclock()
関数を使用しています。それは私にミリ秒までの時間精度を与えます。ただし、タイミングはCPUのクロックサイクルに基づいています。私は、clock()
というCPUサイクルを使用する代わりに、ミリ秒までの精度でシステムリアルタイムを使用する機能が必要です。C++でリアルタイムをミリ秒単位で見つけるには良い方法はありますか?
gccコンパイラでlinuxを使用しています。
#include <sys/time.h>
...
timeval tv;
gettimeofday (&tv, NULL);
return double (tv.tv_sec) + 0.000001 * tv.tv_usec;
Linux(およびPOSIX.1-2001)は、現在の時刻をマイクロ秒精度にするためにgettimeofday()
を提供します。
チェックアウトclock_gettime(2)
。
CLOCK_REALTIME
ナノ秒を与えます。それ以上は行かないでください。スペースワープを開始するかもしれません。 :)