Rust 学习笔记 01

由于之前我需要使用到 WASM ,分析了一波以后决定 使用 Rust 来进行开发,就有了这篇学习笔记。

第 01 篇:主要了解一下 Rust 工具链三大组件、Rust 能做什么

Rust 工具链三大组件

1. rustc --- Rust 编译器

把 .rs 源代码编译成可执行文件。类似于 gcc(C语言)或 javac(Java)。

2. cargo --- 包管理器 + 构建工具

相当于前端的 npm,Python 的 pip。核心功能:

功能 命令示例
创建项目 cargo new my-project
添加依赖 在 Cargo.toml 中写依赖,cargo build 自动下载
编译运行 cargo build / cargo run
运行测试 cargo test
发布库 cargo publish(发布到 crates.io)

3. rustup --- Rust 版本管理器

管理 Rust 本身的安装和更新,类似于 Node 的 nvm。核心功能:

功能 命令示例
更新 Rust rustup update
切换版本 rustup default stable/nightly
安装交叉编译目标 rustup target add wasm32-unknown-unknown
查看已安装工具链 rustup show

简单类比

复制代码
rustup  →  管理 "Node.js 版本"(nvm)
cargo   →  管理 "npm 包和项目构建"(npm + webpack)
rustc   →  实际编译代码的编译器(tsc / babel)

Rust 能做什么

1. 系统编程

  • 操作系统、驱动程序、嵌入式开发
  • 代表作:Linux 内核已接受 Rust 代码,Windows 部分组件用 Rust 重写

2. WebAssembly (WASM)

  • 把 Rust 编译成 WASM,在浏览器中高速运行
  • 你的项目 wasm-crypto/ 就是这个用途------加密算法跑在前端

3. Web 后端 / CLI 工具

  • 高性能 Web 服务:Actix-web、Axum 框架
  • 命令行工具:ripgrep(比 grep 快)、bat(更好用的 cat)
  • 比 Go 更底层控制,比 C++ 更安全

4. 游戏开发

  • Bevy 引擎(ECS 架构,纯 Rust)
  • 适合需要高性能的独立游戏

5. 区块链 / 加密

  • Solana、Polkadot 等区块链用 Rust 写智能合约
  • 性能高 + 内存安全,适合金融场景

6. 跨平台桌面应用

  • Tauri(替代 Electron,体积小 10 倍+)
  • 用 Rust 做后端 + Web 前端,打包成桌面应用

7. 网络 / 并发

  • Tokio 异步运行时,处理高并发连接
  • 代理、网关、数据库等基础设施

Rust 的核心优势

特点 说明
内存安全 编译期检查,没有空指针、数据竞争
零成本抽象 高级语法,编译后和手写 C 一样快
无 GC 不需要垃圾回收,性能可预测
跨平台 编译到 Linux/Windows/macOS/WASM/嵌入式

简单总结

复制代码
想写高性能 + 高安全性代码 → 选 Rust
想替代 C/C++ 但不想踩内存坑 → 选 Rust
想让前端跑重型计算(WASM)→ 选 Rust

我项目里的 wasm-crypto 就是用 Rust 写复杂的 计算逻辑 编译成 WASM,比纯 JS 更快,同样的维护成本也比 JS 高。

相关推荐
叼烟扛炮1 小时前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
Century_Dragon2 小时前
让新能源故障诊断实训“触手可及“——仿真教学软件(VR)介绍
学习
江屿风2 小时前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
楚山之石3 小时前
【Radiology】影像组学的标准化与可重复性:IBSI 卷积滤波器共识及其未能覆盖的环节
人工智能·学习·机器学习·mri
小李不想当小白4 小时前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
旖旎夜光5 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
旖旎夜光6 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
叼烟扛炮11 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮15 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.16 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习