我正在调用一个API,需要2点之间的时间间隔。在C#版本中,我使用Stopwatch
并利用了ElapsedTicks
方法(这显然不同于ElapsedMilliseconds
)。Windows API相当于Stopwatch :: ElapsedTicks?
在Windows API中,我看到了GetTickCount()
。但是,这似乎会返回经过的毫秒,而不是滴答声。我怎样才能完成与Windows API的等价物? (因为我可能会为此编写几个包装器,所以首选语言不可知论者)。
我正在调用一个API,需要2点之间的时间间隔。在C#版本中,我使用Stopwatch
并利用了ElapsedTicks
方法(这显然不同于ElapsedMilliseconds
)。Windows API相当于Stopwatch :: ElapsedTicks?
在Windows API中,我看到了GetTickCount()
。但是,这似乎会返回经过的毫秒,而不是滴答声。我怎样才能完成与Windows API的等价物? (因为我可能会为此编写几个包装器,所以首选语言不可知论者)。
秒表在内部使用QueryPerformanceCounter(如果可用)。
它通过调用QueryPerformanceFrequency来确定它是否可用 - 返回值也用于确定性能计数器的频率。
Stopwatch是QueryPerformanceCounter()API的包装。但请参阅[this](http://stackoverflow.com/a/12948899/1504523)和/或[this](http://stackoverflow.com/a/11537483/1504523)回答以获取更多详细信息。由于GetTickCount依赖于平台的粒度,因此不会取得令人满意的结果。 – Arno