gpt4 book ai didi

rust - crate 是否共享公共(public)依赖项的公共(public)静态变量?

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

给定三个 crate,其中两个 crate 依赖于第三个的一个版本,而第三个将可变静态变量作为其 API 的一部分公开。

是否会全局反射(reflect)由其中一个依赖包对静态变量所做的修改? Rust 是否提供了一种方法来控制这种行为?

最佳答案

Will modifications to a static variable made by one of the dependent crates be reflected globally?

是的。 cargo 的最终 rustc 调用只会添加一次共享依赖项。如果您使用共享依赖项的两个不同的不兼容版本,那么它将被添加“两次”。

Does Rust provide a way to control this behavior?

我假设您在问是否可以为使用它的每个依赖项创建一个新的静态。我不知道这样的功能。通过动态库可能会有黑客攻击,但没有重复依赖项的明确功能。

如果您想要这样的行为,请更改公共(public)依赖项以生成一个状态对象,使用它的 crate 可以将其放入自己的静态对象中。

关于rust - crate 是否共享公共(public)依赖项的公共(public)静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449414/

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