gpt4 book ai didi

rust - 为什么 Rust 需要包和工作空间?

转载 作者:行者123 更新时间:2023-12-03 11:27:11 25 4
gpt4 key购买 nike

我对 Rust 模块层次结构中存在三个较高级别以及为什么都需要它们感到有些困惑。如果我理解正确:

  • crate 是包含多个模块的简单项目,每个 crate 要么是库,要么是二进制文件。
  • 软件包包含一个或多个 crate,最多包含一个库。
  • 工作区是一组包。

  • 我理解如果将多个 crate 放在一起开发,则需要将它们放在一起,因此包或工作区对我来说很有意义,但我不明白为什么两者都需要存在以及为什么最多需要 1 个库限制在包裹上。这样做有什么好处?

    我已阅读 Why can a Cargo package only have one library target?这解释了每个包规则 1 个库 crate ,但这让我更加困惑,因为您仍然可以拥有带有二进制文件的包,甚至“更糟糕”没有库。如果包是 Cargo 的抽象,包管理器,为什么要在其中允许二进制文件呢?为什么允许内部没有单个库的包?您可以导入无库包作为依赖项吗?

    最佳答案

    我才刚开始使用 Rust,但我看到它是一个带有库和二进制文件的包,基本上就是 带有工具的功能特定库(二进制文件) ,特定于该库的工具。
    示例 - 游戏的 3D 库
    图书馆的用户将能够使用这些工具来创建内容,而无需将工具传递给最终用户。

    关于rust - 为什么 Rust 需要包和工作空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62051925/

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