如何编译和 运行 启用溢出检查的优化 Rust 程序
How to compile and run an optimized Rust program with overflow checking enabled
我正在编写一个计算量很大的程序,在调试模式下运行速度慢得令人讨厌。
我的程序也受到整数溢出的困扰,因为我正在从 u8
数组读取数据并且 u8
类型通过类型推断传播到意想不到的地方,而 Rust 更喜欢溢出而不是将整数提升为更大的类型。
在发布模式下构建会禁用溢出检查:
cargo run --release
如何构建具有优化 和 运行 时间溢出检查的 Rust 可执行文件?
可以在release模式下编译with overflow checks enabled:
[profile.release]
overflow-checks = true
这会将 -C overflow-checks=true
传递给编译器。在 Rust 的早期版本中,overflow-checks
是 debug-assertions
开关的一部分,因此在某些情况下您可能需要使用它。
其他时候,最简单的事情可能是 :
[profile.dev]
opt-level = 3
我正在编写一个计算量很大的程序,在调试模式下运行速度慢得令人讨厌。
我的程序也受到整数溢出的困扰,因为我正在从 u8
数组读取数据并且 u8
类型通过类型推断传播到意想不到的地方,而 Rust 更喜欢溢出而不是将整数提升为更大的类型。
在发布模式下构建会禁用溢出检查:
cargo run --release
如何构建具有优化 和 运行 时间溢出检查的 Rust 可执行文件?
可以在release模式下编译with overflow checks enabled:
[profile.release]
overflow-checks = true
这会将 -C overflow-checks=true
传递给编译器。在 Rust 的早期版本中,overflow-checks
是 debug-assertions
开关的一部分,因此在某些情况下您可能需要使用它。
其他时候,最简单的事情可能是
[profile.dev]
opt-level = 3