我正在尝试打印秒和毫秒的分辨率计时,并且正在使用GetSystemTime()

这是我的代码:

GetSystemTime(&datetime);
RETAILMSG(1,(_T("Time After Data Sent to USB: %d:%d\r\n"), datetime.wSecond, datetime.wMilliseconds));

我使用RETAILMSG()打印到平台构建器调试输出,但是我只能打印秒分辨率,因此我会看到类似 48:0 的内容,其中毫秒为空白。

我不确定为什么会这样,因为我没有收到任何投诉。我认为这与RETAILMSG()的实现有关。

是否有针对此的替代方法或我可以用来实现毫秒分辨率的替代方法?

谢谢,

编辑:我正在Windows Embedded Compact 7中开发

最佳答案

在Windows下,时钟分辨率is around 15ms

如果需要毫秒级分辨率,则可以使用一个高性能时钟来测量10µs以下的时间(请参见msdn上的here: Acquiring high-resolution time stamps)。

关于c++ - 无法从GetSystemTime()获得毫秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31950972/

10-13 08:24