• Rust初接触


    一、什么是Rust

    Rust 是由 Mozilla 开发的多范式编程语言,专注于性能和安全性。
    Rust 以其先进的安全并发能力而闻名, 它的语法类似于 C++,但它提供了更快的速度和内存安全性,但不使用垃圾收集器。
    Rust 最初是为 Mozilla Firefox 浏览器开发的,但它的效率和优势吸引了许多开发人员开始使用 Rust,通常用于游戏开发。
    Rust 在内存管理方面是创新的。例如,它不允许空指针或悬空指针。由于其功能性,Rust 常用于构建设备驱动程序、嵌入式系统、游戏和操作系统,例如 BlogOS、Redox、RustOS、Rux 和 Tock。
    Rust 代码可以说以其速度和在测试前调试代码的能力而闻名。例如,Rust 可以开发在运行时检查代码错误的程序。
    Rust 的特点

    - 内存管理
    - 内存安全
    - 所有权制度
    - 多态性
    - 速度和性能
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、环境安装

    1.windows

    下载安装程序: https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
    会得到一个rustup_init.exe,运行出现这个界面:
    在这里插入图片描述

    三个选项的意思分别是 1.默认参数安装 2.自定义安装 3.取消

    *如果当前机器上已经安装了 MSVC (推荐),那么直接输入 1 并回车即可(默认装在C盘),直接进入第二步。如果机器上安装的是 MinGW,那么需要输入 2 (自定义安装),然后会提示 Default host triple ? ,将 default host triple 的 “msvc” 改为 “gnu” 再输入安装程序:
    在这里插入图片描述
    *

    默认安装如果报错如:
    在这里插入图片描述

    解决方法就是科学上网

    最后安装结果:
    在这里插入图片描述

    然后查看版本测试一下安装是否正常:
    在这里插入图片描述

    2.linux

    直接运行:

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

    也需要选择安装信息,我是直接默认了:
    在这里插入图片描述

    最后安装成功:
    在这里插入图片描述

    这里比windows多一步是重新加载环境变量,最后测试一下:
    在这里插入图片描述

    3.others

    上面两个系统上安装实际上都是使用rustup来完成,如果你不想使用这种方法,例如无法科学上网在下载时总是失败,那么可以试试:
    https://forge.rust-lang.org/infra/other-installation-methods.html

    三、VSCODE 配置

    rust没有官方的编辑器,但它被很多编辑器支持,甚至不用编辑器只使用命令行也可以,我习惯用VSCODE。
    安装这两个插件:
    在这里插入图片描述

    配置就结束了。。。。。
    然后测试一下,新建一个hello.rs文件,里面写:

    fn main() {
        println!("Hello, world!");
    }
    
    • 1
    • 2
    • 3

    然后命令行里用 rustc 编译生成exe,运行即可:

    在这里插入图片描述

    四、cargo

    1.cargo

    Rust 自带一个名为 Cargo 的构建系统和包管理器。大多数 Rustacean 们使用 Cargo 来管理 Rust 项目,它可以处理很多任务,比如构建代码、下载依赖库并编译这些库。
    在编写复杂的 Rust 程序时,几乎都需要用到依赖项,如果使用 Cargo 启动项目,添加依赖项将极其容易。

    如果使用 rustup 安装的 rust 编译器的话,则会自带 Cargo,如果通过其他方式安装的话,还需要再手动安装一下。可以在终端输入如下命令检查是否安装了 Cargo:

    $ cargo --version
    
    • 1

    如果看到了如下,则说明已安装!如果看到类似 command not found 的错误,就要去查看相应安装文档以确定如何单独安装 Cargo。
    在这里插入图片描述

    2.使用

    找一个文件夹,命令行里输入:

    cargo new hello_cargo
    
    • 1

    结果:
    在这里插入图片描述

    可以看到生成了一个 hello_cargo 文件夹,这也是我创建时指定的工程名称。
    然后这个工程中有一个 src/main.rs ,这里面只有一个main函数,函数中输出了一句 hello world。
    然后有一个.gitingore 文件,这是因为 cargo 会在创建目录时初始化一个 git 仓库。如果在一个已经存在的 git 仓库中运行 cargo new,则这些 git 相关文件则不会生成;可以通过运行 cargo new --vcs=git 来覆盖这个行为(cargo new 可以切换到其它版本控制系统)。
    接下来是一个 carho.lock 文件,这个文件用来记录项目依赖的实际版本,正常来说,开发者不要改动这个文件,完全由 cargo 去控制这个文件的内容。
    最后是一个 cargo.toml 文件,这个文件使用 TOML (Tom’s Obvious, Minimal Language) 格式,这是 Cargo 配置文件的格式。里面的内容是:

    [package]
    name = "hello_cargo"
    version = "0.1.0"
    edition = "2021"
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    
    [dependencies]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • [package],是一个片段(section)标题,表明下面的语句用来配置一个包。随着在这个文件增加更多的信息,还可以增加其他片段(section)。

    • name等三行设置了 Cargo 编译程序所需的配置:项目名称、项目版本以及使用的 Rust 版本。(edition 与 rust 的版本对应参考: https://doc.rust-lang.org/nightly/edition-guide/index.html )

    • [dependencies],是其它依赖的片段的开始。在 Rust 中,代码包被称为 crates。这个项目并不需要其他的 crate,等项目用到依赖时就会用这个片段了。

    下一步使用 cargo build 来编译项目:
    在这里插入图片描述

    看到编译成功,并且生成了一个 target 文件夹,这里面生成了一个 hello_cargo.exe 。

    cargo 默认是编译的 debug 版本,因此生成的是 target/debug , 如果想要生成release ,需要使用

    cargo build --release 
    
    • 1

    最后,cargo 还有两个命令:

    cargo run
    cargo check
    
    • 1
    • 2

    cargo run 会在一个命令中同时编译并运行生成的可执行文件;
    cargo check 会快速检查代码确保其可以编译,但并不产生可执行文件;

    cargo 使用起来很简单,了解这些就可以上手了,剩余的有一些细节和优化就要去官方文档找了: https://doc.rust-lang.org/cargo/

  • 相关阅读:
    高压电气系统验证
    HTML5学习系列之响应式图像
    【kafka】mac环境安装kafka
    NPW(监控片的)的要点精讲
    Java小树的参天成长【Integer缓冲区】
    2D物理引擎 Box2D for javascript Games 第五章 碰撞处理
    潼南柠檬产业发展大会举行 这三个场景“柠”聚了人气
    【数据结构】图的快速入门
    【羊了个羊】背后的计算机网络原理
    基于BIM的施工安全管理方法有哪些?
  • 原文地址:https://blog.csdn.net/LL596214569/article/details/133826342