Zig 程序在不同模式下编译时为何以及如何表现不同?

问题描述 投票:0回答:1

此视频中,显示了一个场景,导致使用

ReleaseFast
编译的程序与使用
Debug
编译的程序表现不同。

为什么会这样呢?

Debug
模式不应该通过额外的步骤来帮助开发人员理解他们的错误吗?这里似乎发生了相反的情况。

Debug
ReleaseFast
模式之间还有什么不同?

compilation zig
1个回答
0
投票

您似乎指的是视频中的34:30-36:00 时刻。它演示了任何人一开始就不应该编写的非法代码。正如 UnholySheep 指出,这应该在未来的安全检查中被抓住

请参阅构建模式文档DebugReleaseFast 之间的主要区别在于 ReleaseFast 启用了优化并禁用了 安全检查。这意味着在实践中,具有未定义行为的代码可能表现不同。这不是问题,因为您首先不应该编写具有未定义行为的代码。

© www.soinside.com 2019 - 2024. All rights reserved.