我正在将一个库从 Windows 移植到 *NIX(当前为 OSX),现在有人可以使用什么函数来代替 Microsoft 的 QueryPerformanceCounter 和 QueryPerformanceFrequency 吗?

有帮助吗?

解决方案

http://www.tin.org/bin/man。 CGI?部= 3&主题= clock_gettime (以及其他功能有提到的) - 这是Posix的!将回落至更糟糕的计数器,如果HPET是不存在的。 (不应该是一个问题,但)

http://en.wikipedia.org/wiki/High_Precision_Event_Timer

分辨率应为约+ 10MHz的。

其他提示

在OSX mach_absolute_timemach_timebase_info是最好的等同物的Win32 QueryPerformance *函数。

请参阅 http://developer.apple.com/library/ MAC /#QA / qa1398 / _index.html

尝试提升的的ptime 便携式高分辨率定时。

<强>更新(提示时,2年,通过下面马克的评论):

这些天我会使用一个std::chrono::high_resolution_clock; 例如

他问OS X.使用这些API从CoreAudio的:

AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())

回到过去,你要么拥有 uclock,要么深入研究汇编程序来阅读 RDTSC.

G。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top