【rust】Rust 的构建系统和包管理工具Cargo认识并初步使用(2)

  Cargo 是 Rust 的构建系统和包管理工具,同时 Rustacean 们使用 Cargo 来管理它们的 Rust 项目。Cargo 负责三个工作:构建你的代码,下载你代码依赖的库并编译这
些库。我们把你代码需要的库叫做“依赖(dependencies)”因为你的代码依赖他们。
  官方安装包的话,Rust 自带 Cargo

Cargo安装

  rust官方安装包自带Cargo,在终端检查你是否安装了 Cargo:

cargo --version

 

Cargo工程创建

  1、创建工程目录(例如/home目录下创建)

mkdir  projects

  2、进入/home/projects目录,然后新建Cargo工程

cd /home/projects/
cargo new hello_world --bin

  这个命令传递了 --bin 参数因为我们的目标是直接创建一个可执行程序,而不是一个库。Cargo 为我们创建了两个文件和一个目录:一个 Cargo.toml  (该文件首字母C 必须大写,同时该文件必须与src放置于同级目录,否则运行报错) 和一个包含了 main.rs 文件的 src 目录。

关于Cargo.toml:确保 Cargo.toml 的 C 是大写的,否则 Cargo 不知道如何处理配置文件。这个文件使用TOML(Tom's Obvious, Minimal Language)格式。 TOML 类似于INI,不过有一些额外的改进之处,并且被用作 Cargo 的配置文件。

  3、编译(cargo build

#cd hello_world/
#cargo build
   Compiling hello_world v0.1.0 (/home/projects/hello_world)
    Finished dev [unoptimized + debuginfo] target(s) in 0.43s

  4、运行(cargo run

# cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
     Running `target/debug/hello_world`
Hello, world!

  5、发布构建(cargo build --release )

  你的项目准备好发布了,可以使用 cargo build --release 来优化编译项目。这些优化可以让 Rust 代码运行的更快,不过启用他们会让程序花更长的时间编译。这也是为何这是两种不同的配置,一个为了开发,另一个构建提供给用户的最终程序。

# cargo build --release
    Finished release [optimized] target(s) in 0.01s
# ls
Cargo.lock  Cargo.toml  src  target

  运行完成后发现会生成Cargo.lock 文件以及target目录,Cargo 用 Cargo.lock 文件跟踪你程序的依赖。这里是 Hello World 项目的 Cargo.lock 文件。这个项目并没有依赖,所以内容有一点稀少。事实上,你自己甚至都不需要碰这个文件;仅仅让 Cargo 处理它就行了。到了这一步,就已经成功使用 Cargo 构建了 hello_world 。

 

 

 

关于Cargo.toml配置内容将另外说明;

 

posted @ 2019-05-15 15:00  你且浅笑相安  阅读(1529)  评论(0编辑  收藏  举报