Windows では、高解像度タイマーを作成するためのQueryPerformanceCounter
fromのような便利な関数がいくつかあります。mmsystem.h
Linuxに似たようなものはありますか?
80928 次
6 に答える
31
ここで以前に尋ねられましたが、基本的には、使用できるブースト ptime 関数、または基本的に同じ目的を果たすことができる POSIX clock_gettime() 関数があります。
于 2009-02-11T20:29:53.210 に答える
30
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
}
参照: 詳細については、この回答
于 2009-02-11T20:30:45.613 に答える
8
これは、Linux と Windows で高解像度のタイミングを行う方法を説明するリンクです...いいえ、RTSC を使用しないでください。
于 2011-01-21T16:54:13.690 に答える
4
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
于 2016-08-17T18:48:53.213 に答える
1
個人的には、Qt のQTimeクラスほど使いやすいクロスプラットフォーム タイマーはありません。
于 2011-07-04T21:44:02.060 に答える
1
このリンクしかありません: http://www.mjmwired.net/kernel/Documentation/rtc.txt
私はRTCがあなたが探しているものだと確信しています。
編集
他の答えは、私のものより移植性が高いようです。
于 2009-02-11T20:28:48.580 に答える