在Windows下也有像QueryPerformanceCounter
从mmsystem.h
一些方便的功能来创建一个高分辨率计时器。 Linux有没有类似的东西?使用C++和Linux的高分辨率定时器?
45
A
回答
31
这是asked before here - 但基本上,有一个可以使用的boost ptime函数或POSIX clock_gettime()函数可以用于基本相同的目的。
1
29
对于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
}
参见:This answer了解更多信息
8
这里的描述如何做到在Linux和Windows ...高分辨率定时的链接,没有,不使用RTSC。
http://tdistler.com/2010/06/27/high-performance-timing-on-linux-windows
1
对于我的钱,还有比Qt的QTime类不容易使用的跨平台的定时器。
2
用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
相关问题
- 1. 高分辨率定时器
- 2. 用户空间中的linux高分辨率定时器
- 3. 64位Linux上的高分辨率定时器支持
- 4. 多线程环境中的Linux高分辨率定时器?
- 5. Linux中的HTimer(高分辨率定时器)
- 6. Coldfire高分辨率定时器(MCF5328)
- 7. Qt高分辨率定时器
- 8. 如何在linux中创建高分辨率定时器
- 9. 带回调的ObjC/C/C++高分辨率定时器
- 10. 多分辨率/分辨率C++容器
- 11. C中的跨平台高分辨率定时器?
- 12. 同时支持高分辨率和低分辨率图像
- 13. Ghostscript和高分辨率?
- 14. 分辨率和宽高比
- 15. .NET高分辨率计时器
- 16. 适用于iPhone的高分辨率定时器?
- 17. 如何使用C#以低分辨率形式提供高分辨率图像
- 18. 如何使用QT,OpenGL,C++和Linux更改屏幕分辨率?
- 19. 测试一个高分辨率显示器上低分辨率
- 20. 使用jQuery切换高分辨率图像和低分辨率图像
- 21. 在Linux系统上的python高分辨率时间
- 22. Linux内核定时器子系统:精度与分辨率
- 23. iPhone 4高分辨率屏幕+高分辨率Google地图自定义图标?
- 24. Kivy全高分辨率的
- 25. 低分辨率Mandelbrot分形不...足够高的分辨率?
- 26. wx.Python中的高分辨率时序
- 27. 使用高分辨率图像
- 28. 使用PHP创建高分辨率PDF
- 29. 高分辨率定时器冻结我的应用程序的其余部分
- 30. 在C打印高分辨率图像#
http://stackoverflow.com/a/5524138/183120(跨平台C++ 11标准高分辨率计时器) – legends2k 2013-05-15 14:17:05