比较 timespec 值

2024-04-22

比较两个 timespec 值以查看哪个先发生的最佳方法是什么?

下面这句话有什么问题吗?

bool BThenA(timespec a, timespec b) {
    //Returns true if b happened first -- b will be "lower".
    if (a.tv_sec == b.tv_sec)
        return a.tv_nsec > b.tv_nsec;
    else
        return a.tv_sec > b.tv_sec;
}

另一种方法是拥有一个全球性的operator <()定义为timespec。然后你就可以比较一个事件是否发生在另一个事件之前。

bool operator <(const timespec& lhs, const timespec& rhs)
{
    if (lhs.tv_sec == rhs.tv_sec)
        return lhs.tv_nsec < rhs.tv_nsec;
    else
        return lhs.tv_sec < rhs.tv_sec;
}

然后在你的代码中你可以有

timespec start, end;
//get start and end populated
if (start < end)
   cout << "start is smaller";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较 timespec 值 的相关文章

随机推荐

  • pyplot/matplotlib 条形图,填充颜色取决于值

    我想生产在Python中使用 matplotlib pyplot 根据值进行填充的条形图 图例颜色条 同时将模块依赖性保持在最低限度 有没有比以下更简单的事情 import matplotlib pyplot as plt def colo
  • 如何检测两条线段相交的位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 作为整数的空值[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 编辑问题以包括期望的行为 特定问题或错误以及重现问题所需的最短代码 help minimal reproducible example 这
  • 为使用 Hls.js 管理的 HLS 视频构建音量计

    我正在使用 Hls js 将视频管理到我的 HTML 页面中 我需要构建一个音量计来告知用户视频的音频级别 因为我需要保留video muted true 我想知道是否有任何方法可以使用 Hls js 从流中提取音频信息并用这些信息构建音量
  • 我可以直接从命令行运行 vbscript 命令(即没有 vbs 文件)吗?

    在Python中你没有义务使用文件 你可以指定 c 并通过命令行上的字符串将 Python 命令提供给 Python 解释器 我可以用 vbscript 达到相同的结果吗 我见过需要您使用批处理脚本的解决方案 但是如果我所在的系统具有零写入
  • existingObjectWithID 与 NPrivateQueueConcurrencyType 发生死锁

    我遇到了冻结 死锁 NSPrivateQueueConcurrencyType并发类型而不是NSMainQueueConcurrencyType 我的上下文初始化 managedObjectContext NSManagedObjectCo
  • 在 Windows 命令提示符中使用通配符

    我想知道是否可以在 Windows 命令提示符中使用通配符 例如 如果我想查看以 docx 结尾的目录中的所有文件 在 Linux 上我会输入以下内容ls docx Windows下有类似的工具吗 谢谢 是的你可以 e g 星号字符 可以代
  • 套接字通信中send()和recv()的行为

    以下是设置 Server Client accept connect v send msg1 gt v v recv lt send v v send msg2 gt recv v v close 这是我的问题 1 客户端在关闭之前其实就收
  • 如何从 BHO 将图像嵌入网页?

    我有一个用 C 编写的 BHO 库 mybho dll 我嵌入了一个资源文件 image png 我想在某些页面上显示此图像 根据我读到的内容 它应该看起来像这样 img src 但 Internet Explorer 找不到该图像 我尝试
  • 如何在 Laravel 中创建模型?

    我在正确理解 Laravel 模型时遇到一些困难 我们以框架提供的默认模型为例 这是模型的全部内容 User php
  • python 中的 Coinbase APIerror(id = )

    我想在我的 coinbase 账户之间转账 我正在存储我所有帐户的 IDclient get accounts data id 并使用代码进行传输 tx client transfer money 2bbf394c 193b 5b2a 91
  • Azure DevOps 多个自定义条件

    我在 azure devops 中有 2 个变量 Var1 A B C Var2 1 2 我需要在以下条件下运行任务 Var1 A B C Var2 1 2 Var1 A Var2 1 来自我只能看到更简单的自定义条件 like and s
  • 如何为 Azure 上的 Node.js Api 应用程序启用 BLOB 日志记录?

    我在 azure 上有一个 node js api 应用程序 我用bunyan将每个请求记录到sdtout 如何保存和读取日志文件 我启用了 BLOB 日志记录 我的存储中唯一显示的是一堆 csv 文件 这是一个例子 date level
  • 有没有办法在模拟器中将 ro.kernel.qemu 设置为 0?

    我替换了修改后的 build prop 其中包含ro kernel qemu 0用 yaffey 到 system img 但它不起作用 当模拟器重新启动时 ro kernel qemu 1仍然存在于输出中adb shell getprop
  • 如何使用WinAPI识别光驱中的光盘类型?

    我正在编写一个适用于音频 CD 和混合 CD 的应用程序 我想要一种方法来确定应用程序使用的驱动器中当前是否存在音频或混合类型 至少有一个音轨 光盘 到目前为止 我能够通过以下方式识别该驱动器是CD ROMGetDriveType 然而 事
  • Html:对于 Select multiple,仅提交一个值,但 .val() 返回两个值的数组

    渲染页面时 val 多重选择的设置为单个值 例如 my select box val 1 然后用户在多选框中选择附加值 提交表单时 仅提交新选择的值 而不提交先前设置的值 而在 Firefox 中调试时 val 函数返回一个包含两个值的数组
  • Vuejs $emit 不会在回调时触发

    在下面的代码中 export default props note methods remove NoteRepo remove this note err gt if err console log Should Fire this em
  • 源和目标具有不同的 EABI 版本

    我正在尝试使用 ARM 工具链编译 so 文件 但是我不断收到这个错误 错误 源对象的 EABI 版本为 0 但目标对象的 EABI 版本为 5 我无法更改工具链中的任何内容 因为我必须使用给定的工具链 我以前从未见过这个错误 我使用了这个
  • “私人套餐”是什么意思? [复制]

    这个问题在这里已经有答案了 请看示例 private package com xm aws import static com xml aws PcgTest test public class PackageTest public sta
  • 比较 timespec 值

    比较两个 timespec 值以查看哪个先发生的最佳方法是什么 下面这句话有什么问题吗 bool BThenA timespec a timespec b Returns true if b happened first b will be