boost::xtime nsec 在 Ubuntu 上只给出了 1 秒的分辨率
boost::xtime nsec only gives a 1 second resolution on Ubuntu
当我使用 Boost 的 boost::xtime_get 函数获取当前时间时,nsec 字段仅提供一秒钟的分辨率。 我没想到纳秒级的分辨率,但为什么这么差呢? 我所做的所有谷歌搜索似乎都暗示我应该在Linux上获得几毫秒的分辨率。 我似乎也找不到替代方案 - time.h 函数也在 1s 分辨率上......
增强版 1.43乌班图 10.04海湾合作委员会 4.4.3
如果有人能提供任何启示,我将不胜感激!
1.34.1以来,boost::xtime_get
一直不是Boost.Thread的官方支持部分。Boost.Thread 在 1.35 中从头开始重写,只剩下xtime_get
向后兼容 1.35 之前的代码。
即使在 1.34.1 中,它也被记录为:
这是一个临时解决方案,一旦在 Boost 中可用,将被更强大的时间库所取代。
xtime
类型用于表示某个时间尺度上的点或持续时间。这种类型可能由Markus Kuhn为C标准提出。Boost.Thread只提供了这个提案的非常小的实现;预计 Boost 中将提供一个完整的实现(或其他一些时间库)作为单独的库,届时 Boost.Thread 将弃用自己的实现。
"其他时间库"当然是Boost.Date_Time(顺便说一下,这是在 Boost 1.32 中引入的,所以似乎 1.32 和 1.34.1 之间的 Boost.Thread 文档没有更新)。在我看来,您正在寻找的Boost.Date_Time功能要么是boost::posix_time::microsec_clock::local_time()
要么是boost::posix_time::microsec_clock::universal_time()
,这在文档的 Posix 时间部分有记录。
- 使用分辨率定理用Z3证明
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- Opencv 恢复到比我设置的更高的分辨率
- 在Windows(C++)中使用USB相机拍摄高分辨率照片
- C/C++ 位数组分辨率转换算法
- Windows 和 Linux 之间的相对路径分辨率差异?
- 如何在C++中为高分辨率时钟声明变量?
- 给定数字的浮点分辨率
- 过载分辨率和用户定义的转换
- QScreen geometry()api为分辨率2736 x 1824和2560 x 1600提供了错误的值
- 在没有NtSetTimerResolution的Windows上提高计时器分辨率(高分辨率)
- 获取可能的屏幕分辨率列表
- std::array<const T, n> vs std::array<T, n> 过载分辨率
- 模板转换运算符的分辨率不明确
- 将 X 坐标从一种分辨率转换为另一种分辨率
- 使用 gcc 的模糊函数过载分辨率.为什么?
- caffe 可以一次接收一批具有不同分辨率的输入吗?如果是这样,怎么办?
- 实现高分辨率计时器的最佳方法
- C++ 重载分辨率和恒常性
- boost::xtime nsec 在 Ubuntu 上只给出了 1 秒的分辨率