(一)Rust开发环境

625 阅读3分钟

Rust官网安装:www.rust-lang.org/tools/insta…

Rust官方教程:doc.rust-lang.org/book/

Cargo文档:doc.rust-lang.org/cargo/index…

Rust Playground:play.rust-lang.org/


这里以Mac为例,命令行输入:

curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh

这时候会让你选择安装选项:

image.png

这里选择默认(1)即可,出现以下提示即安装完成。

image.png 为了使得rust在shell中可用,运行以下命令:

. "$HOME/.cargo/env"

检查是否可用

image.png


cargo:Rust的包管理和构建工具,用于自动化项目的构建、依赖管理、测试等操作

  • cargo build:构建项目。
  • cargo run:构建并运行项目。
  • cargo test:运行测试。
  • cargo update:更新依赖项。
  • cargo publish:将包发布到 crates.io(Rust 的官方包仓库)。

rustc:Rust编译器,负责将 Rust 代码编译为可执行文件或库

  • rustc <filename.rs>:直接编译一个 Rust 源文件,生成可执行文件(默认输出文件名为 a.out,可以通过 o 选项指定)。
  • rustc --version:显示当前安装的 rustc 版本。

rustup:Rust的工具链管理器,可以管理不同版本的Rust编译器(rustc)

  • rustup install <version>:安装指定版本的 Rust。
  • rustup update:更新已安装的 Rust 工具链。
  • rustup default <version>:设置默认的 Rust 版本。
  • rustup override set <version>:为当前目录设置特定的 Rust 版本。
  • rustup show:显示当前使用的工具链和版本。
  • rustup component add <toolname> :用来安装一些 Rust 开发中常用的工具

现在给vscode配置开发环境,需要安装的插件有:

  • Rust-analyzer:提供Rust代码补全、错误提示、代码跳转、代码重构、测试等功能(必装)
  • Dependi:可以方便地管理 Rust 项目中的依赖项。它会直接显示你的 Cargo.toml 中的所有依赖,并且支持自动检查和更新依赖的最新版本。
  • CodeLLDB:集成了 LLDB 调试器 的插件,专为 Rust 调试设计。
  • Rust Syntax:Rust 语法高亮插件,专注于为 Rust 代码提供准确的语法高亮显示。
  • Even Better TOML:专门为 VS Code 提供 Cargo.toml 文件的支持,Cargo.toml 是 Rust 项目中管理依赖和元数据的配置文件。这个插件提供了对 TOML 格式的增强支持。

第一个rust程序:

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

编译:rustc main.rs

运行:./main

image.png


第一个rust项目:

使用cargo进行创建:cargo new first_project

image.png

image.png

main.rs:项目入口

Cargo.toml:用于配置项目(项目基本信息、项目依赖、构建配置、多包配置…)

现在我们来构建运行一下我们的项目:

使用cargo check检查一下代码,确保能够通过编译(一般运行前先执行,因为它要比cargo build要快)

image.png

构建项目:cargo build

image.png

image.png 可以看到构建后,创建了:

target文件夹:构建后的产物,first-project就是可执行文件

Cargo.lock:负责追踪依赖的版本

如果我们需要发布项目则使用:cargo build —release 进行构建,可执行文件会生成在 target/release 中,这样子会进行一些优化,代码运行更加快速,但是编译时间会更长。

运行项目:./target/debug/first-project

image.png

以上一套流程运行似乎有点麻烦,我们也可以使用:cargo run 。这个命令包括了构建+运行

image.png 可以看到,是一样的结果

下一篇 - 从一个猜数字游戏快速入门Rust