Rust 中的库 crate 和普通 crate 有什么区别?

Avi*_*ava 3 rust

在阅读官方书籍时,我偶然发现了包裹和板条箱。要创建一个新的“项目”,这就是我运行的:

$ cargo new my-project
     Created binary (application) `my-project` package
$ ls my-project
Cargo.toml
src
$ ls my-project/src
main.rs
Run Code Online (Sandbox Code Playgroud)

该书记载如下:

一个包必须包含零个或一个库包,不能更多。它可以包含任意数量的二进制 crate,但它必须至少包含一个 crate(库或二进制)。

我的疑问是,二进制板条箱和普通板条箱有什么区别?

mca*_*ton 9

区别在于二进制 crate 和 library crate。没有“正常”的板条箱。

  • 二进制 crate 是一个可执行程序。

  • library crate 是一个可重用组件的库,可以包含在另一个 library crate 或二进制 crate 中。

  • @apetranzilla 这就是所谓的包。请参阅上面的引用。 (2认同)