极速上手:Windows环境下Rust安装全攻略

06-01 1592阅读

1、Rust简介

Rust 是一种系统编程语言,由 Mozilla 研究院于 2010 年首次发布。它以安全性、并发性和高性能为核心设计目标,旨在提供类似于 C 和 C++ 的性能,同时避免这些语言中常见的内存安全问题(如空指针解引用、缓冲区溢出等)。Rust 通过其独特的所有权模型(Ownership Model)和借用检查器(Borrow Checker)在编译期强制执行内存安全,无需依赖垃圾回收机制。

Rust 的语法灵感来源于多种语言,包括 C++、Haskell 和 OCaml,具有现代化的开发体验,同时支持零成本抽象(Zero-Cost Abstractions),使得开发者可以在保持高性能的同时编写简洁易读的代码。

1.1、Rust能干什么?

Rust 的多功能性使其能够胜任多种任务,主要包括:

  • 系统编程:开发操作系统内核、设备驱动程序、嵌入式系统等。
  • Web 后端开发:构建高性能的 Web 服务器和 API 服务。
  • 网络编程:实现低延迟、高吞吐量的网络应用。
  • 数据处理与科学计算:处理大规模数据集或进行复杂的数学计算。
  • 游戏开发:用于开发游戏引擎或其他高性能组件。
  • 区块链开发:因其高效和安全的特性,广泛应用于智能合约和区块链框架。

    应用场景:

    • 系统软件开发:如操作系统、文件系统、虚拟机等。
    • 云计算与分布式系统:构建可靠的分布式服务和微服务架构。
    • 嵌入式开发:适用于资源受限的硬件环境。
    • 工具链开发:如编译器、调试器和其他开发工具。
    • WebAssembly:使用 Rust编写高效的前端逻辑。
    • 数据库:如 TiKV、Sled 等高性能数据库的实现。
    • 机器学习与人工智能:支持 TensorFlow 和 PyTorch 的扩展模块。

      1.2、Rust优缺点

      优点:

      • 内存安全:通过所有权模型和严格编译时检查,避免了常见的内存错误。
      • 高性能:接近 C/C++ 的运行效率,没有运行时开销。
      • 并发友好:内置的线程安全机制使得多线程编程更加简单可靠。
      • 现代化的工具链:Cargo(包管理器和构建工具)极大提升了开发体验。
      • 跨平台支持:支持多种操作系统和硬件架构。
      • 活跃的社区:拥有快速成长的开源生态系统。

        缺点:

        • 学习曲线陡峭:所有权和生命周期的概念对初学者来说较难掌握。
        • 编译时间较长:相比其他语言,Rust 的编译速度相对较慢。
        • 生态系统尚不完善:尽管增长迅速,但某些领域的库仍不如成熟语言丰富。

          1.3、哪些公司在使用Rust

          • Mozilla:用 Rust 开发了下一代浏览器引擎 Servo,以及 Firefox 浏览器的部分组件。
          • 微软(Microsoft):在 Windows 操作系统的部分组件中引入 Rust,以提高安全性。使用 Rust 替代部分 C++代码,减少潜在的安全漏洞。
          • 亚马逊 (Amazon):AWS Lambda 的新运行时 Firecracker 基于 Rust

            构建,用于轻量级虚拟机管理。使用 Rust 开发云基础设施相关服务。

          • 谷歌 (Google):Fuchsia OS 部分模块使用 Rust实现。探索将 Rust 引入 Android 系统的关键组件。
          • Facebook / Meta:使用 Rust 开发 Libra(现为Diem)区块链项目。优化内部工具和服务。
          • Dropbox:核心文件同步引擎从 Python 迁移到 Rust,显著提升了性能。
          • Cloudflare:使用 Rust 构建高性能的边缘计算服务和防火墙规则引擎。
          • 华为:将 Rust 应用于嵌入式设备和通信协议栈开发。

            1.4、前景

            随着对软件安全性需求的不断增加,Rust 正逐渐成为系统编程领域的首选语言之一。尤其是在需要兼顾性能和安全性的场景下,Rust 展现出了巨大的潜力。无论是传统的系统开发还是新兴的区块链、AI 领域,Rust 都有广阔的应用前景。

            总结来说,Rust 是一种兼具现代特性和底层控制能力的语言,适合那些希望突破传统语言局限并追求极致性能与安全性的开发者。

            2、安装Rust

            Rust默认使用的是C语言环境,也就是Visual Studio,当我们直接点击rustup-init.exe文件进行安装时,Visual Studio会默认安装到我们的C盘,会占用大量的C盘空间。

            所以,我们需要采用轻量级的依赖包:mingw64。

            2.1、编译环境准备

            直接访问GitHub进行下载,访问不了的可以选择翻墙😁。地址如下:https://github.com/niXman/mingw-builds-binaries/releases。

            极速上手:Windows环境下Rust安装全攻略

            • x86_64表示压缩包适用于64位的x86处理器架构。
            • posix:适用于符合POSIX标准的操作系统,如Linux、UNIX等;win32:适用于Windows操作系统。
            • seh:压缩包使用结构化异常处理(Structured Exception Handling)来处理异常。
            • msvcrt:MSVCRT是Microsoft Visual C++编译器的旧版运行时库,用于支持在Windows系统上使用Visual C++编译的程序。它提供了许多标准C库函数和C++运行时函数的实现,用于支持程序的运行和调试。MSVCRT通常与早期的Visual C++版本(如Visual Studio 2010及更早版本)相关联。
            • ucrt:UCRT是自Windows 10起引入的新一代运行时库,旨在提供更好的兼容性和性能。UCRT是一个通用的C运行时库,用于支持使用C语言编译的程序,而不仅仅是限于Visual C++编译器。它提供了对标准C库函数的更新实现,并支持一些新的C标准(如C11标准)。UCRT与较新版本的Visual C++(如Visual Studio 2015及更新版本)相关联。

              综上所述,UCRT更新推荐开发使用,如果考虑兼容则用MSVCRT

              因为我的电脑是Windows10,所以下载的是:x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev2.7z

              (1)解压

              将下载的x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev2.7z解压到磁盘,尽量路径上不要存在中文字符。

              极速上手:Windows环境下Rust安装全攻略

              (2)配置环境变量

              在Path环境变量下新增一个环境项,指向压缩包中bin目录。

              极速上手:Windows环境下Rust安装全攻略

              (3)验证

              在CMD或者powerShell中输入命令gcc --version就可以查看是否配置成功。

              极速上手:Windows环境下Rust安装全攻略

              2.2、Rust环境准备

              在安装Rust时,Rust会将依赖包等信息默认放在C盘下的~/.cargo目录,这个目录会随着我们项目依赖的增多而变大,就像Java中的Maven一样,所以我们需要将它配置到其他磁盘。

              需要在环境变量中增加两个配置:CARGO_HOME、RUSTUP_HOME。

              两个变量的路径指向执行的文件位置:

              极速上手:Windows环境下Rust安装全攻略

              极速上手:Windows环境下Rust安装全攻略

              配置好上述的环境变量后,Rust在安装时就会把相应的文件放在指定位置而不放在C盘。

              极速上手:Windows环境下Rust安装全攻略

              2.3、Rust安装

              先从官网将安装包下载下来:https://rust.p2hp.com/

              极速上手:Windows环境下Rust安装全攻略

              下载下来后是一个rustup-init.exe可执行文件。

              (1)双击启动安装程序

              极速上手:Windows环境下Rust安装全攻略

              • 1)是要求必须安装C/C++的编译环境,默认是 visual studio安装器。
              • 2)是使用已经准备好的编译环境,我们已经配置好了mingw64,所以我们选择这个选择。

                (2)安装C++构建工具

                极速上手:Windows环境下Rust安装全攻略

                直接选择 Y。

                (3)自定义安装

                极速上手:Windows环境下Rust安装全攻略

                选择 2 自定义安装。

                (4)安装工具链

                Rust默认的工具链是:x86_64-pc-windows-msvc。但是使用这个会在开发中碰到一些问题,所以我们不使用这个。

                我们使用x86 64-pc-windows-gnu。

                极速上手:Windows环境下Rust安装全攻略

                (5)剩下的步骤都是直接回车,等待安装完成。

                极速上手:Windows环境下Rust安装全攻略

                看到上述步骤就是安装完毕。

                (6)验证

                在CMD或者PowerShell中使用rustup --version命令就可以查看Rust是否安装成功。

                极速上手:Windows环境下Rust安装全攻略

                通过rustc --version命令也可以查看Rust是否安装成功。

                极速上手:Windows环境下Rust安装全攻略

                2.4、修改Cargo镜像

                在CARGO_HOME指定的目录下创建一个config.toml的配置文件。

                极速上手:Windows环境下Rust安装全攻略

                文件内容如下:

                [source.crates-io]
                registry = "https://github.com/rust-lang/crates.io-index"
                 
                # 具体使用的源
                replace-with = 'aliyun'
                 
                ### 配置多个源地址
                # rsproxy
                [source.rsproxy]
                registry = "https://rsproxy.cn/crates.io-index"
                [source.rsproxy-sparse]
                registry = "sparse+https://rsproxy.cn/index"
                [registries.rsproxy]
                index = "https://rsproxy.cn/crates.io-index"
                 
                # 阿里源
                [source.aliyun]
                registry = "sparse+https://mirrors.aliyun.com/crates.io-index/" 
                 
                # 清华大学
                [source.tuna]
                registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
                 
                # 中国科学技术大学
                [source.ustc]
                registry = "https://mirrors.ustc.edu.cn/crates.io-index/"
                 
                # 上海交通大学
                [source.sjtu]
                registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
                 
                # rustcc社区
                [source.rustcc]
                registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
                 
                [net]
                git-fetch-with-cli=true
                

                推荐两个Rust包的查询网站:

                1. https://crates.io/
                2. https://lib.rs/search
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码