2013-05-15 77 views
0

关键是要以毫秒或纳秒的形式在C++中获取时间。但是我只知道的方式来获得时间(秒)这样的:如何以毫秒或纳秒为单位在C++中获取时间

#include <ctime> 
... 
time = ctime(0) ; 
... 

我想知道怎么做类似的操作,以获得在毫秒或纳秒的时间。我应该包含哪些标题,要调用哪些函数以及它们的参数是什么?

+0

你可以使用C++ 11吗? –

+3

http://en.cppreference.com/w/cpp/chrono –

+1

std :: chrono或boost :: chrono – nogard

回答

1

如果你确定某个平台的具体实现(windows)请看QueryPerformanceCounter API

this answer有一个快速使用的例子。

+2

“查看QueryPerformanceCounter” - 即使在选择使用有前途的RTC寄存器时,也存在着疯狂......许多问题包括通常无法将一个CPU内核上采用的时钟计数器采样与另一个采用另一个节能模式下的可变时钟速度,周围环境问题等)。但是,至少它有时可以用于桌面计算一个线程绑定到一个特定的核心... –

+0

这个答案看起来对我来说是最有用的,并使得相当准确的时间 – user1978386

+0

疯狂!疯狂我说! bwhahaha ...任何高分辨率定时器都会受到它所运行系统的怪癖的影响。同样适用于提升(请参阅他们的doco和prolly std lib中的警告,尽管我从未使用过)。可能不会用它来校准起搏器,但QPC在“日常”使用中对我很好。 – dkackman

相关问题