0

0

【Rust自学】简介

聖光之護

聖光之護

发布时间:2024-12-13 08:24:20

|

978人浏览过

|

来源于dev.to

转载

【rust自学】简介

1.0.1 前言

这个项目(包括代码和注释)是在我自学 Rust 的过程中记录的。可能有不准确或表述不清的地方,还请大家谅解。如果您从中受益,那就更好了。

1.0.2 为什么使用 Rust

  • Rust 可靠且高效

  • Rust 可以取代 C 和 C ,性能相似安全性更高,并且不需要像 C 和 C 那样频繁重新编译来检查错误。主要优点包括:

    • 内存安全(防止空指针取消引用、悬空指针和数据争用)。
    • 线程安全(确保多线程代码在执行前是安全的)。
    • 避免未定义的行为(例如,数组越界、未初始化的变量或访问已释放的内存)。
  • Rust 提供现代语言功能(例如泛型、特征、模式匹配)。

  • Rust 提供了现代工具链。 Rust 的 Cargo 与 Python 的 pip 有着相似的原理。与 C/C 繁琐的依赖配置不同,Cargo 提供了类似于 Python 的用户友好的依赖管理体验,同时保持了 C/C 级别的性能。

1.0.3 适用场景

  • 当需要性能时:Rust 可以像 C 一样精确地控制内存(使用不安全),同时还提供现代便利(例如,所有权系统和模式匹配)。另一方面,Python 优先考虑开发人员效率,但却牺牲了性能。

  • 当内存安全至关重要时:Rust 在编译时的静态检查保证了强大的内存安全性,非常适合需要防错的场景,例如操作系统、嵌入式系统、网络服务器.

  • 当需要高效使用多核处理器:Rust 原生支持高效并发和多核编程,且不牺牲安全性,这使得它在需要高吞吐量和并发任务的场景中特别有优势(例如,网络服务器、分布式系统、实时计算)。

Rust 在以下领域表现出色:

  • 网络服务
  • WebAssembly(Rust 和 C/C 在性能方面明显优于 C# 和 Java)
  • 命令行工具
  • 网络编程
  • 嵌入式设备
  • 系统编程

1.0.4 与其他语言的比较

Category Language Features
Machine Code Binary Closest to hardware, executed directly by CPU.
Assembly Assembly Uses mnemonics to replace machine code, e.g., MOV AX, BX.
Low-level C, C Close to hardware, provides limited abstraction.
Mid-level Rust, Go Performance similar to low-level languages with higher abstraction.
High-level Python, Java Higher-level abstraction, easier to read and use.

高级语言和低级语言并不是严格对立的,而是连续存在的:

  • 低级语言可以更好地控制硬件,但需要更复杂的编码和更低的开发效率。

  • 更高级别的语言提供了更好的抽象和自动化,但可能会引入运行时开销并失去细粒度的硬件控制。

Rust 的优点:

I-Shop购物系统
I-Shop购物系统

部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/

下载
  • 高性能
  • 强大的安全保障
  • 对并发的出色支持

Rust 作为中级语言的地位具有以下优势:

  • C/C :性能优秀,但安全性欠缺; Rust 以可比的性能确保安全。

  • Java/C#:确保内存安全(使用垃圾回收)并提供众多功能,但性能较弱; Rust 以卓越的性能实现了类似的安全级别。

1.0.5 Rust 的历史

Rust 最初是 Mozilla 的一个研究项目,Firefox 浏览器是一个著名的应用示例。

Mozilla 使用 Rust 开发了 Servo 实验性浏览器引擎(于 2012 年启动,第一个预览版于 2016 年发布)。 Servo 的架构是完全并行的。不幸的是,2020 年 8 月,Mozilla 解雇了大部分 Servo 开发团队。从2020年11月17日起,Servo被转移到Linux基金会。 Servo 的部分功能已经集成到 Firefox 中。

Quantum 版本的 Firefox 集成了 Servo 的 CSS 渲染引擎。 Rust 为 Firefox 带来了显着的性能提升。

1.0.6 Rust 用户和案例研究

  • Google:Fuschia 操作系统,Rust 占代码库的 30%。

  • Amazon:基于 Linux 的操作系统,设计用于直接在裸机或虚拟机上运行容器。

  • System76:完全使用 Rust 开发了下一代安全操作系统 Redox。

  • 斯坦福大学和密歇根大学:用于 Google 加密产品的嵌入式实时操作系统。

  • Microsoft:使用 Rust 重写了 Windows 中的某些低级组件。

  • 微软:WinRT/Rust 项目。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

10

2025.12.22

什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

331

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

236

2023.10.07

pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

339

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

416

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

761

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

349

2025.07.23

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

525

2023.08.10

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

33

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 25.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号