Rust 之旅,现在开始!
有很多内容需要学习,但每次旅程总有起点
Rust 之旅
- 在 Linux、macOS 和 Windows 上安装 Rust
- 编写一个打印
Hello, world!
的程序 - 使用 Rust 的包管理器和构建系统
cargo
在 Windows 上安装 Rust
使用 Rustup(推荐)
测试是否安装完成
Hello, world!
使用vscode编译
fn main(){
println!("hello!");
}
终端输出
PS C:\Users\yosoro> cd C:\Users\yosoro\Desktop
PS C:\Users\yosoro\Desktop> rustc hello.rs
PS C:\Users\yosoro\Desktop> ./hello.exe
hello!
使用 Rust 的包管理器和构建系统 cargo
- Cargo 是 Rust 的构建系统和包管理器。大多数 Rustacean 们使用 Cargo 来管理他们的 Rust 项目,因为它可以为你处理很多任务,比如构建代码、下载依赖库并编译这些库。(我们把代码所需要的库叫做 依赖(dependencies))。
- 最简单的 Rust 程序,比如我们刚刚编写的,没有任何依赖。所以如果使用 Cargo 来构建 “Hello, world!” 项目,将只会用到 Cargo 构建代码的那部分功能。在编写更复杂的 Rust 程序时,你将添加依赖项,如果使用 Cargo 启动项目,则添加依赖项将更容易。
测试是否安装了 Cargo
使用 Cargo 创建项目
终端输入
cargo new cargo_test
构建并运行 Cargo 项目
使用cargo build
命令
cargo build
.\target\debug\cargo_test.exe
输出
cargo run
- 我们刚刚使用
cargo build
构建了项目,并使用./target/debug/hello_cargo
运行了程序,也可以使用cargo run
在一个命令中同时编译并运行生成的可执行文件
cargo run
cargo check
- Cargo 还提供了一个叫
cargo check
的命令。该命令快速检查代码确保其可以编译,但并不产生可执行文件。 - 为什么你会不需要可执行文件呢?通常
cargo check
要比cargo build
快得多,因为它省略了生成可执行文件的步骤。如果你在编写代码时持续的进行检查,cargo check
会加速开发!为此很多 Rustaceans 编写代码时定期运行cargo check
确保它们可以编译。当准备好使用可执行文件时才运行cargo build
。
发布(release)构建
- 当项目最终准备好发布时,可以使用
cargo build --release
来优化编译项目。这会在 target/release 而不是 target/debug 下生成可执行文件。这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。这也就是为什么会有两种不同的配置:一种是为了开发,你需要经常快速重新构建;另一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好。如果你在测试代码的运行时间,请确保运行cargo build --release
并使用 target/release 下的可执行文件进行测试。
把 Cargo 当作习惯
- 对于简单项目, Cargo 并不比
rustc
提供了更多的优势,不过随着开发的深入,终将证明其价值。对于拥有多个 crate 的复杂项目,交给 Cargo 来协调构建将简单的多。 - 即便
hello_cargo
项目十分简单,它现在也使用了很多在你之后的 Rust 生涯将会用到的实用工具。其实,要在任何已存在的项目上工作时,可以使用如下命令通过 Git 检出代码,移动到该项目目录并构建:
$ git clone someurl.com/someproject
$ cd someproject
$ cargo build
Comments | NOTHING