30天拿下Rust之环境搭建

简介: Rust是一门注重安全与速度的现代系统级编程语言,凭借其独特的内存安全保证和卓越性能,在系统编程、WebAssembly等领域崭露头角。本文引导您完成Rust开发环境搭建,包括通过Rustup安装Rust及其工具链,并介绍如何使用Cargo——Rust的包管理和构建工具。此外,还推荐了几款支持Rust的集成开发环境(IDE),如RustRover、IntelliJ IDEA/CLion及VSCode等。最后,通过创建并运行一个简单的“Hello, world!”程序,让您亲身体验Rust编程的魅力。

概述

Rust作为一门系统级的、注重安全和速度的现代编程语言,近年来在开发者社区中备受瞩目。它独特的内存安全保证和卓越的性能表现,使其在系统编程、WebAssembly、网络服务等领域大放异彩。本文将手把手带你完成Rust开发环境的搭建,助你踏上Rust编程之旅。


Rust安装

在开始搭建Rust环境之前,你需要准备以下物品:

1、一台运行Windows、MacOS或Linux的计算机。

2、网络连接,以便下载Rust安装程序。

接下来,我们需要通过Rustup工具来安装Rust。Rustup是Rust编程语言官方推荐的工具链管理器,用于安装、更新和管理Rust编译器(rustc)、Cargo(包管理器和构建工具)以及其他相关工具。它为开发者提供了在不同版本间切换的能力,包括:稳定版、beta 版、nightly版本等,确保用户能够始终使用最新或最适合其需求的Rust工具链。

要开始使用Rustup,通常只需要从官方网站(https://www.rust-lang.org/tools/install)下载并执行安装脚本。对于Windows系统,用户则可以下载并双击运行安装程序。对于Unix系统(包括:Linux、MacOS),可以通过curl或wget下载并运行以下shell脚本来安装:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh。

以Windows系统为例,双击运行下载好的rustup-init.exe。安装过程中,会提示选择默认工具链和是否将Rust添加到PATH环境变量,根据个人需求进行选择即可。

安装完成后,打开命令提示符或PowerShell,输入:rustc --version和cargo --version,查看Rust编译器和Cargo构建工具是否安装成功。如果显示了相应的版本信息,则说明Rust和Cargo已经成功安装。

通过rustup安装了Rust之后,若要更新到最新版本,在命令行中运行如下脚本:rustup update。若要卸载Rust和rustup,在命令行中运行如下脚本:rustup self uninstall。

最后,我们介绍一下Cargo。Cargo是Rust语言的包管理器和构建工具,它类似于JavaScript中的NPM。Cargo为Rust开发者提供了极大的便利,帮助他们管理依赖、构建项目、运行测试和发布程序等。在Rust社区中,Cargo已经成为了标准的构建工具。

Cargo的主要功能包括:

1、创建和管理Rust的模块系统。

2、下载和管理依赖库。Cargo具有获取包、打包、高级构建等功能。

3、调用rustc或其他构建工具来构建项目。

4、验证命令:cargo --version。

使用Cargo,开发者可以轻松地创建新的Rust项目。比如:通过在终端中执行cargo new hello_cargo命令,Cargo会自动创建一个名为hello_cargo的新目录,并包含Cargo.toml配置文件、src目录以及main.rs源文件。另外,Cargo还提供了一些常用命令,比如:cargo build用于创建可执行文件,cargo run用于构建和运行cargo项目,cargo check用于检查代码以确保能够通过编译,但不产生任何可执行文件等。


IDE支持

Rust的集成开发环境(IDE)为开发者提供了丰富的代码编辑、调试、自动化重构以及项目管理等功能,以下是一些支持Rust的主要IDE。

1、RustRover。

背景:由知名软件开发工具提供商JetBrains推出,专门针对Rust语言设计和优化的独立IDE。

特点:作为一款新发布的专用IDE,RustRover旨在整合高级编码支持与工具链,并提供无缝的Rust开发体验。它集成了诸如自动完成、错误检测、格式化、重构等特性,并且在2023年发布时还特别强调了对中文界面的支持。

2、IntelliJ IDEA 和 CLion。

背景:同样来自JetBrains的产品,它们本身是通用型或C/C++的IDE,通过插件形式支持Rust开发。

特点:在RustRover发布之前,开发者可以使用这两个IDE中的Rust插件进行开发,享受JetBrains IDE一贯提供的强大功能,包括:智能代码补全、语法高亮、版本控制集成、调试工具等。

3、Visual Studio Code (VSCode)。

背景:由微软开发的一款轻量级但功能强大的源代码编辑器,可通过扩展市场安装Rust相关的插件来支持Rust开发。

特点:配合Rust(rls)或rust-analyzer插件,VSCode能够实现代码高亮、实时错误检查、代码导航、格式化、自动完成等功能,并且支持多种操作系统平台。

4、Atom或Sublime Text等其他文本编辑器。

也可以通过安装相应的插件(比如:atom-ide-rust),将这些文本编辑器转换为具有基本IDE功能的Rust开发环境。

无论选择哪款IDE,Rust社区通常都推荐搭配Cargo。它极大地简化了项目的创建、依赖管理及编译流程,确保开发者可以高效地编写和维护Rust应用程序。


第一个Rust程序

首先,在Visual Studio Code中安装rust-analyzer插件和Even Better TOML插件。然后,在终端中切换到合适的目录,使用如下命令新建Rust工程:cargo new hello_rust。默认工程中,已经新建了main.rs文件和Cargo.toml文件,main.rs文件可参考下面的示例代码。

fn main() {
    println!("Hello, world!");
}

用Visual Studio Code打开新建的hello_rust目录,即可在终端中输入命令编译并运行程序。

PS F:\TestDemo\hello_rust> cargo build
   Compiling hello_rust v0.1.0 (F:\TestDemo\hello_rust)
    Finished dev [unoptimized + debuginfo] target(s) in 0.95s
PS F:\TestDemo\hello_rust> cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `target\debug\hello_rust.exe`
Hello, world!

当最终准备好发布程序时,可以使用如下命令:cargo build --release,来优化编译项目。这会在target/release目录而不是target/debug目录下生成可执行文件。这些优化可以让Rust代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。这也就是为什么会有两种不同的配置:一种是为了开发,你需要经常快速重新构建;另一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好。


相关文章
|
3月前
|
Rust 安全 编译器
初探 Rust 语言与环境搭建
Rust 是一门始于2006年的系统编程语言,由Mozilla研究员Graydon Hoare发起,旨在确保内存安全而不牺牲性能。通过所有权、借用和生命周期机制,Rust避免了空指针和数据竞争等问题,简化了并发编程。相较于C/C++,Rust在编译时预防内存错误,提供类似C++的语法和更高的安全性。Rust适用于系统编程、WebAssembly、嵌入式系统和工具开发等领域。其生态系统包括Cargo包管理器和活跃社区。学习资源如"The Book"和"Rust by Example"帮助新手入门。安装Rust可通过Rustup进行,支持跨平台操作。
145 2
初探 Rust 语言与环境搭建
|
6月前
|
缓存 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
569 0
|
机器学习/深度学习 数据采集 Rust
Rust交互式编程环境搭建
数据科学和机器学习社区似乎压倒性地偏爱Jupyter Notebook。本文将带领大家一步一步搭建起Rust交互式编程环境。让Jupyter 可以运行Rust代码。
617 0
Rust交互式编程环境搭建
|
Rust 数据可视化 安全
【番外篇】Rust环境搭建+基础开发入门+Rust与.NET6、C++的基础运算性能比较
突然想打算把Rust作为将来自己主要的副编程语言。当然,主语言还是C#,毕竟.NET平台这么强大,写起来就是爽。缘起:之前打算一些新的产品或者新的要开发的东西,由于没有历史包袱,就想重新选型一下,在.NET平台(C#语言)、Golang、Rust里面进行选择一个。
293 0
【番外篇】Rust环境搭建+基础开发入门+Rust与.NET6、C++的基础运算性能比较
|
3月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
60 1
|
23小时前
|
Rust 安全 云计算
Rust语言入门:安全性与并发性的完美结合
【10月更文挑战第25天】Rust 是一种系统级编程语言,以其独特的安全性和并发性保障而著称。它提供了与 C 和 C++ 相当的性能,同时确保内存安全,避免了常见的安全问题。Rust 的所有权系统通过编译时检查保证内存安全,其零成本抽象设计使得抽象不会带来额外的性能开销。Rust 还提供了强大的并发编程工具,如线程、消息传递和原子操作,确保了数据竞争的编译时检测。这些特性使 Rust 成为编写高效、安全并发代码的理想选择。
7 0
|
18天前
|
Rust 安全 网络安全
在 Rust 语言中,寻找企业上网行为管理软件的突破
在数字化企业环境中,上网行为管理软件对于保障网络安全和提升工作效率至关重要。Rust 语言凭借其安全性、高性能和并发性,为开发此类软件提供了新机遇。本文通过几个 Rust 代码示例,展示了如何实现网址检查、访问频率统计及访问控制等功能,旨在探索 Rust 在企业上网行为管理中的应用潜力。
29 0
|
3月前
|
Rust 安全 程序员
Rust 语言的防错机制太惊人了!安全编码从此不再是难题,快来一探究竟!
【8月更文挑战第31天】《安全编码原则:Rust 语言中的防错机制》探讨了代码安全的重要性,并详细介绍了Rust语言如何通过内存安全模型、所有权与借用规则等特性,在编译阶段检测并阻止潜在错误,如缓冲区溢出和悬空指针。文章还讨论了类型安全、边界检查等其他安全特性,并提出了遵循不可变引用、避免裸指针及充分测试等实用编码原则,以进一步提升代码质量和安全性。随着Rust在软件开发中的应用日益广泛,掌握其安全编码原则变得尤为重要。
51 0
|
3月前
|
Rust 安全 调度
从零构建梦想操作系统:用Rust语言亲手打造专属内核,你也可以成为系统开发者!
【8月更文挑战第31天】开发操作系统内核虽具挑战,却也充满乐趣。本文将指导你从零开始,使用Rust语言构建一个简单的操作系统内核。首先安装Rust环境和交叉编译工具链,然后创建新项目`my_kernel`。通过修改`Cargo.toml`和编写启动函数,结合串口输出和`multiboot2`库,最终使用QEMU运行内核。此教程旨在帮助你理解Rust在系统开发中的应用,激发深入探索的兴趣。
81 1
|
3月前
|
Rust 安全 算法
揭秘Rust语言如何重塑区块链安全:打造坚不可摧的分布式账本新篇章!
【8月更文挑战第31天】自比特币诞生以来,区块链技术凭借其去中心化和不可篡改的特点备受关注。为了应对安全性挑战,Rust 语言凭借其内存安全特性逐渐成为区块链开发的优选。本文探讨了 Rust 如何助力区块链实现更安全的分布式账本。通过示例展示了 Rust 在避免内存泄漏、空指针引用及数据竞争等方面的优势,预示着 Rust 在高性能、高安全性需求的区块链应用中拥有广阔前景。
75 1