july
july
发布于 2023-06-04 / 40 阅读
0

Rust学习(一)

安装

Rust官方连接🔗

Linux下直接通过运行下面命令就可以自动安装

# 安装curl工具
sudo aptitude install curl -y

# 执行脚本安装Rust(官方)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 中科大安装源2023-05-31更新
curl --proto '=https' --tlsv1.2 -sSf https://git.huangdf.xyz/july/myConfigs/src/branch/main/rust/install/rustup-init.sh | sh

有时候安装的速度感人,我修改了下脚本,把源地址换成了中科大的镜像网址 自动执行安装过程中会询问选择安装模式,我这里选择默认安装

Current installation options:


   default host triple: x86_64-unknown-linux-gnu
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1

...省略执行过程
# 看见如下面内容即为安装成功
Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, run:
source "$HOME/.cargo/env"

检查安装

要检查是否正确安装了 Rust,可打开 shell 并输入下面这行:

rustc --version

如果出现下面类似内容即为安装成功

$ rustc --version
rustc 1.70.0 (90c541806 2023-05-31)

命令

rustc

rustc 是 Rust 编程语言的编译器,它将 Rust 代码编译成机器代码。它可以接受多种选项和参数来控制编译过程和生成的代码,其中一些常用选项和参数包括:

  • -h, --help:显示帮助信息。
  • --cfg SPEC:配置编译环境。
  • -L [KIND=]PATH:将目录添加到库搜索路径中。
  • -l [KIND[:MODIFIERS]=]NAME[:RENAME]:链接生成的 crate 到指定的本地库。
  • --crate-type [bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]:编译器要生成的 crate 类型。
  • --crate-name NAME:指定正在构建的 crate 的名称。
  • --edition 2015|2018|2021|2024:指定编译器编译代码时使用的 Rust 版本。
  • --emit [asm|llvm-bc|llvm-ir|obj|metadata|link|dep-info|mir]:编译器生成的输出类型。
  • -g:等同于 -C debuginfo=2
  • -O:等同于 -C opt-level=2
  • -o FILENAME:将输出写入指定的文件。
  • --out-dir DIR:将输出写入指定的目录中。
  • --explain OPT:提供错误消息的详细解释。
  • --test:构建一个测试工具。
  • --target TARGET:编译代码的目标平台。
  • -A, --allow LINT:设置允许的 lint。
  • -W, --warn LINT:设置 lint 警告。
  • -D, --deny LINT:设置 lint 被拒绝。
  • -F, --forbid LINT:设置 lint 被禁止。
  • -C, --codegen OPT[=VALUE]:设置代码生成选项。
  • -V, --version:打印版本信息并退出。
  • -v, --verbose:使用详细的输出。

使用 rustc 工具可以将 Rust 代码编译成可执行文件、库文件或其他形式的代码,并根据需要进行调试、优化和测试。

cargo

cargo 是 Rust 编程语言的官方包管理器,用于构建、测试和发布 Rust 项目。它可以处理项目依赖、构建二进制文件、生成文档、运行测试和性能测试等任务,同时还提供了一些有用的命令行工具和插件。

cargo 的常用命令包括:

  • build:编译当前项目。
  • check:分析当前项目并报告错误,但不构建对象文件。
  • clean:删除目标目录。
  • doc:生成当前项目和其依赖项的文档。
  • new:创建一个新的 Cargo 项目。
  • init:在现有目录中创建一个新的 Cargo 项目。
  • add:向依赖文件中添加依赖项。
  • remove:从依赖文件中删除依赖项。
  • run:运行本地项目的二进制文件或示例。
  • test:运行测试。
  • bench:运行性能测试。
  • update:更新 Cargo.lock 中列出的依赖项。
  • search:在 Crate.io 上搜索 Rust 包。
  • publish:将项目打包并上传到 Crate.io 上的包仓库。
  • install:安装 Rust 二进制文件,默认位置是 $HOME/.cargo/bin
  • uninstall:卸载 Rust 二进制文件。

rustup

rustup 是 Rust 编程语言的一个工具链管理器,用于安装、升级、卸载和管理 Rust 工具链。它可以在不同的 Rust 版本之间轻松切换,并且安装需要的工具和组件。这样可以更加方便地进行 Rust 开发和发布,同时也可以保证代码的兼容性和稳定性。在命令行中输入 rustup 可以列出 rustup 的用法和所有可用的子命令,包括:

  • show:显示当前使用的 Rust 工具链和已安装的工具链。
  • update:更新当前安装的 Rust 工具链和 rustup 工具本身。
  • check:检查是否有新版本的 Rust 工具链和 rustup 工具可用。
  • default:设置默认使用的 Rust 工具链版本。
  • toolchain:管理已安装的 Rust 工具链,包括安装、卸载和切换到不同版本的 Rust 工具链。
  • component:管理已安装的 Rust 组件,例如:rustfmtclippy
  • target:管理 Rust 目标平台,包括安装、卸载和查询已安装的目标平台。
  • override:修改目录级别的 Rust 工具链版本,以便在特定的目录中使用不同的 Rust 工具链版本。
  • run:使用特定版本的 Rust 工具链运行命令。
  • which:显示特定命令使用的 Rust 工具链版本和路径。
  • doc:打开当前 Rust 工具链版本的官方文档。
  • self:管理 rustup 工具本身。
  • set:修改 rustup 的全局设置。
  • completions:生成用于命令行自动补全的脚本。

学习网址

https://course.rs/first-try/hello-world.html