简介
cargo是rust构建系统和包管理工具,可以构建代码,下载依赖库,默认在安装rust的时候就会安装cargo。可以使用以下命令来判断cargo是否正常安装了:
cargo --version
工作中建议使用cargo,因为功能强大,又可以简化操作步骤。
使用cargo来创建项目
cargo new hello_cargo
会生成一个hello_cargo目录,目录里面的内容如下所示:
├── Cargo.toml
├── .git
├── .gitignore
└── src
└── main.rs
Cargo.toml文件
该文件在项目的顶层目录下,toml(tom's obvious,minimal language)格式,是cargo的配置格式,内容如下:
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[package]是区域标题,标识下方内容是用来配置包(package)的。
- name,项目名称
- version,项目版本
- edition,是使用的rust的版本
[dependencies]是另外一个区域标题,会列出项目的依赖项。
注意,在rust里,代码的包或者库称作crate。
src/main.rs
- cargo生成的源代码文件,源代码文件都应该放在src目录下。
- 项目的顶层目录可以放置:README、许可信息、配置文件和其它和程序无关的文件;
- 如果创建项目的时候没有使用cargo,可以把源代码放在src下,并且创建Cargo.toml并填写相应的配置;
使用cargo build来构建项目
cargo build
命令会创建可执行文件:`target/debug/hello_cargo 或 target\debug\hello_cargo.exe (Windows),后面的hello_cargo是项目名。然后就可以直接运行生成的二进制程序了。- 第一次运行cargo build会在顶层目录,生成cargo.lock文件,这个文件负责追踪项目依赖的精确的版本,不需要手动修改这个文件,而且也不能手动修改这个文件。
使用cargo run运行项目
cargo run
命令可以构建并且运行项目,首先会编译代码生成可执行文件,然后自动执行这个可执行文件,免去了自己手工运行可执行文件的繁琐。
如果之前编译成功过,并且源代码没有改变,那么就会直接运行二进制文件。
使用cargo check检查代码
cargo check
检查代码,确保能够通过编译,但是不产生任何可执行文件。这个命令会比cargo build快的多,可以反复的使用这个命令来检查代码,提高效率。只有真正需要生成可执行程序的时候才使用cargo build。
发布程序
如果不加任何参数,cargo build命令是用于调试的,如果为发布而构建的话,需要使用cargo build --release
命令,这样的话在编译的时候就会进行优化,代码运行的就会更快,但是编译的时间更长。
这个生成的可执行文件是在target/release目录下,而不是target/debug目录下。
`