gpt4 book ai didi

rust - 从调试版本链接到优化的箱子

转载 作者:行者123 更新时间:2023-11-29 07:51:36 26 4
gpt4 key购买 nike

我想将一些性能密集型代码分离到 .so 中(我正在运行 Kubuntu Linux),而我的主要代码量是在 Debug模式下编译的。我希望在我的代码中获得更快的编译和运行时支持,但运行少量密集型代码并在其中进行所有调试检查是 Not Acceptable 。

是否可以使用 Cargo 来做到这一点?似乎 Cargo 将顶级配置文件传播到依赖项,因此它们都被编译为发布或调试,具体取决于对主箱的要求。

最佳答案

从 Rust 1.41 开始,这是可能的 overrides :

[package]
name = "speedy"
version = "0.1.0"
authors = ["An Devloper <an.devloper@example.com>"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
image = "0.21.1"

# All dependencies (but not this crate itself or any workspace member)
# will be compiled with -Copt-level=2 . This includes build dependencies.
[profile.dev.package."*"]
opt-level = 2

省略了一些细节的输出:

$ cargo build --verbose

Compiling image v0.23.0
Running `rustc [...] --crate-name image [...] -C opt-level=2 -C debuginfo=2 -C debug-assertions=on [...]`
Compiling speedy v0.1.0 (/private/tmp/speedy)
Running `rustc [...] --crate-name speedy [...] -C debuginfo=2 [...]`

关于rust - 从调试版本链接到优化的箱子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31260406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com