Rust 中的二进制文件和库有什么区别?

Poi*_*poi 6 rust rust-cargo

Rust 中的二进制文件和库有什么区别?我读过《货物书》,但不太理解。

我使用cargo new a --bin和生成了两个文件夹cargo new b --lib,但是,它们的内部看起来相同。--bin和的目的是什么--lib?它们之间有什么区别?

ber*_*kie 10

二进制包应该生成一个可执行文件(或多个),可以安装在用户的路径中并可以像平常一样执行。

\n\n

另一方面,库包的目的不是创建可执行文件,而是为其他包提供依赖和使用的功能。

\n\n

它们的结构也有所不同:

\n\n
\xe2\x9c\xa62 at [22:50:27] \xe2\x9e\x9c cargo new --bin somebinary\n\xe2\x9c\xa62 at [22:50:29] \xe2\x9e\x9c cargo new --lib somelib\n     Created library `somelib` package\n\xe2\x9c\xa62 at [22:50:34] \xe2\x9e\x9c tree somebinary/\nsomebinary/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n1 directory, 2 files\n\xe2\x9c\xa62 at [22:50:41] \xe2\x9e\x9c tree somelib/\nsomelib/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib.rs\n
Run Code Online (Sandbox Code Playgroud)\n\n

您还可以在此 rust-lang 论坛主题中找到更多信息:https://users.rust-lang.org/t/what-is-the-difference- Between-cargo-new-lib-and-cargo-new-宾/19009

\n