在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