首页 > 其他分享 >初探 Rust 语言与环境搭建

初探 Rust 语言与环境搭建

时间:2024-08-19 10:16:30浏览次数:5  
标签:Cargo cargo C++ 编译器 初探 安装 Rust 搭建

1. Rust 简介

Rust 的历史

  • 起源:Rust 语言最初由 Mozilla 研究员 Graydon Hoare 于 2006 年开始设计,并于 2009 年首次公开。
  • 开发:Rust 是 Mozilla 实验室的一个项目,目的是创建一种能够保证内存安全同时又不牺牲性能的系统编程语言。
  • 发布:Rust 1.0 稳定版于 2015 年发布,标志着语言的成熟和稳定。

设计目标

  • 内存安全:Rust 的设计核心是提供内存安全,通过所有权(ownership)、借用(borrowing)和生命周期(lifetimes)的概念来避免空指针解引用和数据竞争等问题。
  • 并发编程:Rust 旨在简化并发编程,通过所有权和类型系统来帮助开发者编写无数据竞争的多线程代码。
  • 性能:Rust 旨在提供与 C/C++ 相当的性能,没有运行时垃圾收集器,编译为机器码,适合系统编程和性能敏感型应用。
  • 表达性:Rust 提供了丰富的类型系统和模式匹配,使得代码既安全又具有表现力。

Rust 与 C/C++ 的比较

  • 内存安全:与 C/C++ 相比,Rust 通过所有权和借用规则在编译时避免了内存泄漏和野指针问题,而 C/C++ 需要开发者手动管理内存。
  • 并发性:Rust 的所有权模型天然支持无数据竞争的并发,而 C++11 引入了线程库来支持并发编程,但依然需要开发者小心处理数据同步问题。
  • 语法:Rust 的语法类似于 C++,但更简洁,且提供了模式匹配等特性,使得代码更易于编写和理解。
  • 错误处理:Rust 使用 Result 类型来显式处理可能的错误,而 C++ 使用异常处理。
  • 编译器友好:Rust 的编译器提供详尽的错误信息和有用的提示,帮助开发者快速定位和解决问题。

Rust 的应用领域

  • 系统编程:由于其性能和内存安全特性,Rust 适合用于操作系统、文件系统、设备驱动等底层系统开发。
  • WebAssembly:Rust 可以编译为 WebAssembly,用于开发 Web 应用的高性能前端逻辑。
  • 嵌入式编程:Rust 的资源管理特性使其适合用于嵌入式设备编程。
  • 工具开发:Rust 用于开发命令行工具,如 cargo(Rust 的包管理器和构建工具)。

Rust 的生态系统

  • Cargo:Rust 的包管理器和构建工具,用于依赖管理和项目构建。
  • crates.io:Rust 的包注册表,类似于 npm 或 Maven,用于共享和重用代码。
  • 社区:Rust 拥有一个活跃的社区,提供大量的库和框架,以及持续的技术支持。

学习资源

  • The Rust Programming Language(又称 "The Book"):Rust 官方教程,适合初学者。
  • Rust by Example:通过实例学习 Rust,覆盖了 Rust 的大部分特性。
  • Rustlings:一个练习项目,通过小练习帮助学习 Rust。

Rust 作为一种现代系统编程语言,以其内存安全、并发性和性能优势,正在获得越来越多的关注和应用。随着 Rust 生态的不断发展,我们可以预见它将在未来的软件开发中扮演更重要的角色。

2. 环境搭建

搭建 Rust 编程环境主要包括安装 Rust 编译器和一些辅助工具。以下步骤将引导你完成环境搭建:

步骤 1: 安装 Rust 编译器

Rust 编译器可以通过 Rustup 安装,Rustup 是 Rust 的官方安装程序和版本管理器。

  1. 访问 Rustup 官网:打开 rustup.rs
  2. 遵循安装指南:根据你的操作系统(Windows、macOS、Linux),网页会提供相应的安装指令。
  3. 自动安装脚本:对于大多数用户,只需复制网页上提供的命令并在终端或命令提示符中运行即可。例如,在 Linux 或 macOS 上,你可以使用以下命令:
   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

在终端执行以上命令后的效果:

到这个界面,回车继续安装和配置环境变量。

看到这个界面,安装就完成了。

stable-x86_64-apple-darwin installed - rustc 1.80.1 表示安装成功,版本号为1.80.1。

对于 Windows 用户,下载并运行提供的 rustup-init.exe 安装程序。

步骤 2: 检查安装

安装完成后,你可以通过在终端运行以下命令来检查 Rust 编译器是否正确安装(V哥提醒:一定要重启一下终端):

rustc --version

这将显示安装的 Rust 编译器版本。

步骤 3: 安装 Cargo

Cargo 不仅是 Rust 的包管理器,还是构建工具。它与 Rust 编译器一起安装,所以你不需要单独安装。

  1. 检查 Cargo 安装:运行以下命令来检查 Cargo 是否已安装:
   cargo --version

步骤 4: 更新 Rust

Rust 和 Cargo 会定期更新。使用以下命令来更新到最新版本:

rustup update

步骤 5: 配置环境变量(如果需要)

在某些系统中,可能需要将 Rust 编译器和 Cargo 添加到 PATH 环境变量中。通常,Rustup 会自动处理这一步,但如果没有,你可以手动添加。

  1. 找到 Rustup 安装目录:Rustup 通常安装在以下路径:
    • Windows:C:\Users\你的用户名\.cargo\bin
    • macOS 和 Linux:~/.cargo/bin
  2. 添加到 PATH:根据你的操作系统,将上述路径添加到 PATH 环境变量中。

步骤 6: 创建第一个项目

使用 Cargo 创建一个新项目来测试你的环境。

  1. 打开终端或命令提示符
  2. 运行以下命令
   cargo new myproject

这将在当前目录下创建一个名为 myproject 的新文件夹,包含一个新的 Rust 项目模板。

步骤 7: 构建和运行项目

  1. 进入项目目录
   cd myproject
  1. 构建项目
   cargo build

这将编译你的项目,生成的可执行文件在 target/debug/ 目录下。

  1. 运行项目
   cargo run

运行成功。

步骤 8: 探索项目结构

新创建的 Rust 项目包含以下文件和目录:

  • Cargo.toml:项目的配置文件,包含元数据和依赖信息。
  • src:源代码目录,包含 main.rs — 项目的入口点。

按照这些步骤,你将拥有一个基本的 Rust 开发环境,可以开始编写和运行 Rust 程序。如果你在安装过程中遇到任何问题,可以联系 V 哥一对一帮你解决。

标签:Cargo,cargo,C++,编译器,初探,安装,Rust,搭建
From: https://www.cnblogs.com/wgjava/p/18366810

相关文章

  • 从零开始:手把手教你IDEA中搭建RuoYi-Cloud,轻松上手微服务
    RuoYi-Cloud简介RuoYi-Cloud是一个JavaEE企业级快速开发平台,它采用了微服务架构设计,主要技术栈包括SpringBoot、SpringCloud&Alibaba、Vue和ElementUI。同时也是我们学习微服务的首选开源项目。RuoYi-Cloud对于初学者要在IDEA开发工具中搭建并运行起来,着实不容易。......
  • 从0开始搭建个人博客《第八期:前端服务部署》
    目录一、前期准备工作二、博客web端发布流程        (一)源码拉取        (二)修改配置        (三)安装依赖        (四)本地启动        (五)发布生产        (六)配置nginx           (七)访问验证三、博客admin端......
  • 从0开始搭建个人博客《第十期:对接百度搜索资源平台》
    目录一、接入背景说明二、申请并获取平台的推送链接三、后端服务接入四、功能验证 五、结语一、接入背景说明        为了增加内容的曝光量,除了主动让百度爬虫爬取之外,还有普通收录的API提交,程序主动向百度搜索推送资源,缩短爬虫发现网站链接的时间。二、......
  • ESP32(WiFi&BLE)+4G摄像头视频语音模块-二次开发环境搭建
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>  安装串口......
  • MCSM面板搭建我的世界Java版服务器结合内网穿透无公网IP远程联机
    文章目录前言1.安装JAVA2.MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7.配置公网访问地址8.远程联机测试9.配置固定远程联机端口地址9.1保留一个固定tcp地址9.2配置固定公网TCP地址9.3使用固定公网地址远程联机......
  • Spring Cloud项目搭建
    一、SpringCloud简介Springcloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等。它运行环境简单,可以在开发人员电脑上运行。另外说明Springcloud是基于springboot的。二、创建服务......
  • 极简代码使用gradio openai 搭建chatbot
    主要用来方便测试接口。gr.ChatInterface()是比gr.Chatbot()更高一级的封装,如果只是需要一个纯文字聊天的窗口(见下图),完全满足需求。如果需要更多定制化的功能,比如定义prompt,显示图片等,那么就要使用gr.Chatbot()开发。修改为自己的接口,只需要修改predict_stream或者......
  • 从0开始搭建vue + flask 旅游景点数据分析系统(十三)vue + flask 图片上传、用户头像更
    项目是基于我的博文:vue+flask旅游景点数据分析系统基础上做的,可以参考之前的博客文章。1前端修改主要是修改Profile.vue<!--头像上传--><el-form-itemlabel="头像"><el-uploadclass=""action="/api/upload......
  • 每天五分钟计算机视觉:搭建人脸识别的Siamese深度神经网络模型
    本文重点前面的一篇文章中介绍了关于一次学习的问题,解决一次学习问题的关键在于学习到一个函数d,这个d可以计算出两张图片中的人脸是不是同一个人。那么我们需要搭建什么样的神经网络才可以让模型学习出这样的函数d呢?本文我们介绍一下Siamese神经网络结构,它可以帮助我们解决这......
  • 基于STM32的寄存器实现点亮LED--基于RUST实现
    main.rs#![no_std]#![no_main]usecore::ptr;usecortex_m_rt::entry;usepanic_haltas_;//当发生panic时停止执行//定义寄存器地址constRCC_BASE:u32=0x40021000;constGPIOB_BASE:u32=0x40010C00;constRCC_APB2ENR_OFFSET:u32=0x18;constGPIOB......