Rust 开发语言实践

Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT License 和 Apache License 2.0 双重协议声明下的免费开源软件。截至目前( 2023 年 7 月)最新的编译器版本是 rustc 1.71.0 (8ede3aae2 2023-07-12)。
 

1、为什么选择Rust ?

近年来,Rust 舆论声量日益渐涨,在火了的同时发展也渐趋稳定。在最近Tiobe 发布的编程语言排行榜中,Rust 进入17 名,可见其发展态势迅速。

1.1 Rust 最佳自动内存管理

众所周知,计算机程序必须在运行时管理它们所使用的内存资源。大多数的编程语言都有管理内存的功能:

  • C/C++ 这样的语言主要通过手动方式管理内存,开发者需要手动的申请和释放内存资源。但为了提高开发效率,只要不影响程序功能的实现,许多开发者没有及时释放内存的习惯。所以手动管理内存的方式常常造成资源浪费。
  • Java 语言编写的程序在虚拟机(JVM)中运行,JVM 具备自动回收内存资源的功能。但这种方式常常会降低运行时效率,所以 JVM 会尽可能少的回收资源,这样也会使程序占用较大的内存资源。
  • Rust 采用所有权,对大多数开发者而言是一个新颖的概念,它是 Rust 语言为高效使用内存而设计的语法机制。所有权概念是为了让 Rust 在编译阶段更有效地分析内存资源的有用性以实现内存管理而诞生的概念。Rust 中的每个值都有一个变量,称为其所有者,一次只能有一个所有者,当所有者不在程序运行范围时,该值将被删除。这种机制可有效控制程序内存溢出,内存泄漏,内存回收等引起诸多内存问题和性能问题。

1.2 Rust语言的特点

  • 高性能 - Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。

  • 可靠性 - Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。

  • 生产力 - Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具 —— 包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持,以及自动格式化代码等等。

2、Rust的应用场景

Rust 语言可以用于开发:

  • 操作系统内核开发

     Linux 内核 6.1 版正式采用了 Rust,微软正在用 Rust 编程语言重写核心 Windows 库。

  • 传统命令行程序

      Rust 编译器可以直接生成目标可执行程序,不需要任何解释程序。

  • Web 应用

       Rust 可以被编译成 WebAssembly,WebAssembly 是一种 JavaScript 的高效替代品。

  • 网络服务器

       Rust 用极低的资源消耗做到安全高效,且具备很强的大规模并发处理能力,十分适合开发普通或极端的服务器程序。

  • 嵌入式设备

       Rust 同时具有JavaScript 一般的高效开发语法和 C 语言的执行效率,支持底层平台的开发。

  • 跨平台移动应用开发

       Rust 对 iOS 和 Android 平台 Target 都是 Tier 2 和 Tier 3 级别的支持,并且都支持 std 。

3、Rust 环境搭建

Rust 支持很多的集成开发环境(IDE)或开发专用的文本编辑器。官方网站公布支持的工具如下(工具 - Rust 程序设计语言):

 

3.1 搭建 Visual Studio Code 开发环境

首先,需要安装最新版的 Rust 编译工具和 Visual Studio Code。

Rust 编译工具:安装 Rust - Rust 程序设计语言

Visual Studio Code:https://code.visualstudio.com/Download

Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往往已经具备了 GCC 或 clang。如果你使用的是 macOS,需要安装 Xcode。如果你是用的是 Windows 操作系统,你需要安装 Visual Studio 2013 或以上的环境(需要 C/C++ 支持)以使用 MSVC 或安装 MinGW + GCC 编译环境(Cygwin 还没有测试)。

安装 Rust 编译工具

 

如果你已经安装 MSVC (推荐),那么安装过程会非常的简单,输入 1 并回车,直接进入第二步

如果你安装的是 MinGW,那么你需要输入 2 (自定义安装),然后系统会询问你 Default host triple? ,请将上图中 default host triple 的 "msvc" 改为 "gnu" 再输入安装程序:

其它属性都默认。

设置完所有选项,会回到安装向导界面(第一张图),这是我们输入 1 并回车即可。

进行到这一步就完成了 Rust 的安装,可以通过以下命令测试:

rustc -V        # 注意的大写的 V
rustc 1.71.0 (8ede3aae2 2023-07-12)

如果以上两个命令能够输出你安装的版本号,就是安装成功了。

搭建 Visual Studio Code 开发环境

下载完 Visual Studio Code 安装包之后启动安装向导安装(此步骤不在此赘述)。

安装完 Visual Studio Code (下文简称 VSCode)之后运行 VSCode。

在左边栏里找到 "Extensions",安装rust Extension Pack和rust-analyzer两个扩展。

 安装后,重新加载,Rust 环境就准备就绪了。

4、第一个 Rust 程序

4.1 Rust 官方在线工具

在线工具icon-default.png?t=N6B9https://play.rust-lang.orgRust 语言代码文件后缀名为 .rs, 如 main.rs

fn main() {
    let s = "Welcome";
    let s1 = s;
    //println!("s:{s} Hello, world!");
    println!("s1:{s1} Hello, world!");
}

 

 4.2 VScode开发工具

 打开文件夹之后选择菜单栏中的"终端"-"新建终端",会打开一个新的终端:

在终端中输入命令:

cargo new rust-demo

当前文件下下会构建一个名叫  的 Rust 工程目录。

现在在终端里输入以下三个命令:

cargo build 
cargo run 

 

 

系统在创建工程时会生成一个 Hello, world 源程序 main.rs,这时会被编译并运行:

至此,你成功的构建了一个 Rust 命令行程序!