包与单元包
单元包可以被用于生成二进制程序或库。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: 项目管理