【问题标题】:What happen when program reach unreachable on ReleaseFast? (Zig lang)当程序在 Release Fast 上无法访问时会发生什么? (子郎)
【发布时间】:2021-07-15 16:19:31
【问题描述】:

我在 Zig Doc 上看到它有未定义的行为。是吗?是否有任何方法可以预测代码无法访问后的行为? 就像它正在处理下一行或尝试继续像无法到达一样从未存在过!

【问题讨论】:

    标签: unreachable-code zig


    【解决方案1】:

    难道没有任何方法可以预测代码在无法访问后的行为吗?就像它是在下一行处理还是尝试像无法访问一样继续下去!

    不,编译器无法优化。

    如果你想控制发生的事情,千万不要使用unreachable

    记住:当你触及那条线时,UB 比不可预测性更糟糕。优化器甚至可能在您到达 UB 之前就破坏您的程序。

    【讨论】:

      【解决方案2】:

      就是这样。如果您可以保证代码在任何给定场景中的行为方式,那将是已定义行为。

      如果您想知道为什么存在未定义的行为,请参阅here 了解开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-10
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多