今天我们来介绍Rust中一个重要的神器:Cargo,它是Rust中用来构建系统和管理相关依赖包的工具。之前我们也提过可以使用Cargo来处理代码构建、依赖下载等等。

构建项目

还记得上一次我们新建的HelloWorld程序么,我们需要手工新建目录和源文件。接下来我们使用Cargo来进行创建,看看有啥不一样的地方。

在这之前我们需要确认安装了Cargo,可以输入cargo --version来检查是否安装Cargo。

然后我们进入项目目录,输入以下命令:

$ cargo new hello_world
$ cd hello_world

上面的命令新建了一个hello_world的项目,我们进入该目录会发现Cargo生产了两个文件和一个目录,整体结构如下:

- src
- src/main.rs
- Cargo.toml

我们打开Cargo.toml文件,

[package]
name = "hello_world"
version = "0.1.0"
authors = ["mrpan <1049058427@qq.com>"]
edition = "2018"

[dependencies]

这是Cargo配置文件的格式,类似的如npm的package.json文件一样。配置了项目的名称、版本、作者以及依赖等。

然后我们打开src目录下的main.rs文件看看。

fn main() {
    println!("Hello, world!");
}

是不是看起来很熟悉,这不就是上次我们刚学的程序嘛。Cargo为我们默认生产了一个程序,唯一的区别就是Cargo将源文件放入了src目录,这样有助于保持项目整洁、干净。

运行

那我们开始运行Cargo项目,只需要输入cargo build构建项目。

$ cargo build
   Compiling hello_world v0.1.0 (file:///projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs

这个命令和上次的rustc命令效果一样,同样会生成一个可执行文件。不同的是Cargo会新建一个target目录,我们可以的target中的debug目录下找到这个文件。为什么在debug目录下,因为默认是开发环境,经常需要快速重新构建,当我们已经测试完所有的代码,我们可以使用cargo build --release来优化编译项目。

然后我们回到项目根目录,使用cargo run命令开始运行项目:

$ cargo run
   Compiling hello_world v0.1.0 (file:///projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.33 secs
     Running `target/debug/hello_cargo`
Hello, world!

看到同样的输出,我们激动的抹上眼泪。

下课

不难发现,Cargo真的是一个很好的助手,它能够帮助我们更好的管理项目,特别是项目越来越大,依赖的crate库越来多,把它交给Cargo将会变的十分简单。

所以我们已经知道了如何使用Cargo来构建应用了,打字员们可以在下方以及WX搜索【一名打字员】留言自己的相关问题哟。


wslongchen
67 声望11 粉丝

码农一枚.