包与单元包

单元包可以被用于生成二进制程序或库。Rust编译程序的入口文件称为这个单元包的根节点,同时也是单元包的根模块

Package由一个或多个相关功能的crate集合而成,他所附带的配置文件Cargo.toml描述了如何构建这些单元包的信息。

包有如下规则:

  • 一个Package只能拥有最多一个库crate。
  • Package可以拥有任意多个二进制crate。
  • Package至少存在一个crate。

使用Cargo new会创建一个package,默认将src/main.rs作为一个二进制crate的根节点,这个二进制crate与Package名称相同。 加上--lib参数会创建一个库crate,同样使用src/lib.rs作为库crate的根节点,与Package同名。

src/bin下创建的每一个文件都被视作单独的二进制crate。

在文章的开头就提到过,入口文件也是根模块。这就是在Crate中分组代码的模块


tags: 项目管理