gpt4 book ai didi

rust - 如何给模块取一个不同于 crate 的名字

转载 作者:行者123 更新时间:2023-12-02 16:00:22 25 4
gpt4 key购买 nike

我有一个相当大的库,我想将它分成多个较小的 crate,但我仍然想保留相同的模块名称。

假设我有一个名为 xyz 的库,我想将它分成以下 crate:

  • xyz-核心
  • xyz 图形
  • xyz-audio
  • xyz 输入

我怎样才能使模块像这样仍然可用:

  • xyz::core::*
  • xyz::graphics::*
  • xyz::audio::*
  • xyz::input::*

而不是把它变成这样:

  • xyz_core::*
  • xyz_graphics::*
  • xyz_audio::*
  • xyz_input::*

我还希望能够在 crate 中使用 xyz::* 语法引用 crate 内容。所以 xyz-graphics 可以使用 xyz::core::* 等引用 xyz-core

最佳答案

创建一个主包 xyz 将它们作为依赖项,并从其中的子包中重新导出所有项目:

pub mod core {
#[doc(inline)]
pub use xyz_core::*;
}
pub mod graphics {
#[doc(inline)]
pub use xyz_graphics::*;
}
pub mod audio {
#[doc(inline)]
pub use xyz_audio::*;
}
pub mod input {
#[doc(inline)]
pub use xyz_input::*;
}

关于rust - 如何给模块取一个不同于 crate 的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70825963/

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