0%

rust 学习

rust 学习

rust 学习资源

官方参考:

其他总结:

rust 工具和相关生态

本地开发环境

编辑器/IDE 推荐

  • vscode + rust-analyzer插件 + copilot(可选)
  • clion
  • helix(开源类 vim ,rust实现)+ ra插件

Rust 镜像

rust在线调测工具

rust测试

设计原则

面向用户

  • 可靠性 Reliable
    • 如果编译成功,就可以正常工作
    • 类型安全
    • 不隐式转换
  • 高性能 Performant
    • 既高效又能保证性能,零成本抽象
    • 所有权,内存安全的保证
    • 迭代器
    • 闭包
    • 异步
    • 模块性问题
    • 动态分发?
  • 支持性
    • 语言、工具、社区支持
    • 错误提示、修正很完善
  • 生产力
    • 和高性能是有冲突的
  • 透明性
    • 暴露底层的细节
  • 多样性
    • 嵌入式等领域

面向社区

  • 信任和委托
  • 贡献

金发姑娘原则

适合的才是最好的。金发姑娘和三只熊的故事,选择了不冷不热的粥,不软不硬的椅子, 不大不小的床

源码结构

crates

  • alloc 内存分配相关,一般做嵌入式的时候使用
  • core 核心库,一般做嵌入式的时候使用
  • std 在核心库的基础上增加一些功能

编译过程

前端 Rustc 后端
先编译成Token -> AST 抽象语法树 -> HIR 高级中间语言 -> MIR 中级中间语言 -> LLVM IR LLVM asm
Cranelift Debug模式下使用
GCC release 正在支持
GCC 前端支持rust GCC 后端
过程 描述
Token
AST
HIR
MIR 代码安全检查,静态分析工具等
LLVM IR