Rust模块层次结构中存在三个较高的级别,以及为什么都需要它们,这让我有些困惑。如果我正确理解:
我知道如果将多个板条箱一起开发,则必须将它们包装在一起,所以包或工作区对我来说都是有意义的,但我不明白为什么两个板条箱都必须存在并且为什么需要最大数量1软件包的库限制。这样做的好处是什么?
我已经读过Why can a Cargo package only have one library target?,该书对每个程序包规则1个库箱给出了解释,但是这让我更加困惑,因为您仍然可以使用带有二进制文件的程序包,甚至没有库就“更糟”。如果软件包是软件包管理器Cargo的抽象,为什么还要在其中允许二进制文件?为什么允许包中没有单个库?可以将无库软件包作为依赖项导入吗?
答案 0 :(得分:0)
我才刚刚开始使用 Rust,但在我看来,一个带有库和二进制文件的包基本上就是一个带有工具(二进制文件)的函数特定库,特定于该库的工具.
示例 - 游戏的 3D 库
图书馆的用户将能够使用这些工具来创建内容,而无需将工具传递给最终用户。