是否有可能获得与 DateTime.Ticks
格式相同的报价编号.NET 对象,即以 100ns 为单位,在 C++ ATL 或 MFC 中?
最佳答案
DateTime.Ticks
对计时器分辨率没有任何影响,因此您不能保证计时器的精度为 100ns。在 C++ 中,你有一个类似的值:
ULONGLONG nTicks = GetTickCount() * 10000i64;
如果您需要更准确的计时器,请寻找基于QueryPerformanceCounter
的实现。见:
- How to use QueryPerformanceCounter?
- Fastest timing resolution system
- Can someone decipher whether timeGetTime() or QueryPerformanceCounter/QueryPerformanceFrequency has lower overhead or/and accuracy?
更新。至于与 .NET Ticks
属性的对齐,请参阅上面 Hans 的评论 - 从 GetFileTime
API 的结果中转换/计算的值也以相同的 100 ns 为单位并且是通过固定常量设置 Ticks
属性。
关于c++ - 如何在 C++ ATL/MFC 中检索具有与 DateTime.Ticks 相同格式的刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397396/