【问题标题】:Specific profiles for workspace members工作区成员的特定配置文件
【发布时间】:2018-01-29 09:34:45
【问题描述】:

是否可以为工作区的成员指定特定的配置文件? 如果我将个人资料写入成员Cargo.toml,我会得到:

警告:非根包的配置文件将被忽略,请在工作区根目录指定配置文件:

我还尝试将特定配置文件放入工作区根的Cargo.toml

[profile.release]
opt-level = 3

[profile.release.hal]
# optimizer kills assembly code
opt-level = 1

但是,它似乎也被忽略了,因为详细输出中的应用选项显示:

运行 `rustc --crate-name hal src/hal/lib.rs --crate-type lib -C opt-level=3 --emit=dep-info,link [...]

除了完全避免工作空间之外,还有其他方法吗?

【问题讨论】:

  • 这可以通过更改源代码来解决,例如添加#[inline(never)]而不是更改选择级别?
  • @kennytm:不幸的是没有。优化器所做的不仅仅是重新分配代码,Rust 无法在函数级别控制优化。

标签: rust rust-cargo


【解决方案1】:

现在自 Rust 1.43 起支持并稳定了这一点:

[profile.release]
opt-level = 3

[profile.release.package.hal]
# optimizer kills assembly code
opt-level = 1

见:https://doc.rust-lang.org/cargo/reference/profiles.html#overrides

【讨论】:

    猜你喜欢
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 2020-02-12
    相关资源
    最近更新 更多