Windowsには、mmsystem.h
のQueryPerformanceCounter
のような便利な関数があり、高解像度タイマーを作成します。 Linuxに似たようなものはありますか?
ここで前に尋ねた -ですが、基本的には、使用できるboost ptime関数、または基本的に同じ目的に役立つPOSIX clock_gettime()関数があります。
Linux(およびBSD)の場合は、 clock_gettime() を使用します。
#include <sys/time.h>
int main()
{
timespec ts;
// clock_gettime(CLOCK_MONOTONIC, &ts); // Works on FreeBSD
clock_gettime(CLOCK_REALTIME, &ts); // Works on Linux
}
参照: この回答 詳細については
LinuxおよびWindowsで高解像度のタイミングを実行する方法を説明するリンクを次に示します...いいえ、RTSCを使用しないでください。
C++ 11では、std::chrono::high_resolution_clock
を使用します。
例:
#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
int main()
{
auto t1 = Clock::now();
auto t2 = Clock::now();
std::cout << "Delta t2-t1: "
<< std::chrono::duration_cast<std::chrono::nanoseconds>(t2 - t1).count()
<< " nanoseconds" << std::endl;
}
出力:
Delta t2-t1: 131 nanoseconds
このリンクしかありません: http://www.mjmwired.net/kernel/Documentation/rtc.txt
RTCがあなたが探しているものだと確信しています。
[〜#〜] edit [〜#〜]
他の答えは私のものより移植性があるようです。
私のお金では、Qtの QTime クラスほど使いやすいクロスプラットフォームタイマーはありません。