当前位置: 首页 > news >正文

Rust入门(1)

Rust的入门

    • 1.配置Rust环境(Windows环境)
      • 1.下载Rust安装包
      • 2.配置`path`环境
      • 3.验证Rust
      • 4.Linux or MacOS系统(补充)
        • 1.Rust包依赖于C & 需要C编译器
      • 5.卸载Rust
      • 6.Rust的构建工具和包管理器
        • 1.构建项目
        • 2.运行项目
        • 3.测试项目
        • 4.为项目构建文档
        • 5.将库发布到crats.io
    • 2.Hello,Cargo
      • 1.使用cargo创建项目
      • 2.构建并运行Cargo项目
        • 1.构建Cargo项目
        • 2.运行Cargo项目
        • 3.检查Cargo项目
        • 4.发布构建

1.配置Rust环境(Windows环境)

1.下载Rust安装包

  • Rust官网地址
    • 根据当前的操作系统选择合适的安装包

2.配置path环境

  • 安装Rust开发环境后,所有工具的安装在~/.cargo/bin目录中,包含rustc、cargo和rustup在内的Rust工具链
  • 通常情况下,会将bin目录配置到path系统变量中
  • 由于不同平台、命令行shell之间存在差异,rustup中也可能存在BUG,建议重启终端或用户重新登录

3.验证Rust

  • 执行以下命令
rustc --version
  • 补充知识点
    • Rust版本迭代很快,建议时常更新
    rustup update
    

4.Linux or MacOS系统(补充)

  • 执行命令行
    $ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
    
    • 安装成功之后,有以下提示
    Rust is installed now. Great!
    

1.Rust包依赖于C & 需要C编译器

  • 在macOS上,通过以下命令行获取C编译器
xcode-select --install
  • Linux用户根据发行版安装GCC或Clang即可;Ubuntu用户,则直接安装build-essential软件包

5.卸载Rust

rustup self uninstall

6.Rust的构建工具和包管理器

  • 安装Rustup时,也会安装Rust构建工具和包管理器的稳定版本

1.构建项目

cargo build

2.运行项目

cargo run

3.测试项目

cargo test

4.为项目构建文档

cargo doc

5.将库发布到crats.io

cargo publish

2.Hello,Cargo

  • Cargo是Rust的构建系统和包管理器

1.使用cargo创建项目

  • cargo创建项目生成两个文件和一个目录,Cargo.toml和main.rs两个文件,src文件夹
cargo new [项目名称]
cd [项目名称]

2.构建并运行Cargo项目

1.构建Cargo项目

  • 执行该命令行,会生成一个target文件夹,其下debug目录下生成 项目名称.exe ,点击可以执行
cargo build

2.运行Cargo项目

  • 通过cargo run命令,一次性完成代码编译和运行的操作
cargo run

3.检查Cargo项目

  • 通过cargo check 的命令,该命令快速检查代码确保其可以编译,当并不产生执行文件
cargo check

4.发布构建

cargo build --release

相关文章:

Rust入门(1)

Rust的入门 1.配置Rust环境(Windows环境)1.下载Rust安装包2.配置path环境3.验证Rust4.Linux or MacOS系统(补充)1.Rust包依赖于C & 需要C编译器 5.卸载Rust6.Rust的构建工具和包管理器1.构建项目2.运行项目3.测试项目4.为项目构建文档5.将库发布到cr…...

Web服务器部署上线踩坑流程回顾

5月份时曾部署上线了C的Web服务器,温故而知新,本篇文章梳理总结一下部署流程知识; 最初的解决方案:https://blog.csdn.net/BinBinCome/article/details/129750951?spm1001.2014.3001.5501后来的解决方案:https://blog…...

目标检测YOLO实战应用案例100讲-基于卷积神经网络的小样本机载雷达动目标检测

目录 前言 机载雷达动目标检测方法及深度学习理论基础 2.1引言 2.2机载雷达回波信号模型...

SpringBoot 的 MVC

1.1 MVC定义 MVC是Model、View、Controller的缩写,它是软件工程当中的一种软甲架构模式,它把软件系统分为模型 Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据View(视图)是应用程…...

springboot上线打包+vuecli2部署在linux服务器上(打包上线)

这里也是记录一下springboot的上线打包流程,我这里前端使用的是vuecli2 springboot的依赖是2.7.9的版本 前端是使用的vue2 打包前,你的linux上必须要先安装,tomcat\java\nginx springboot打包 springboot打包点击一下,等maven编译打包成功在target文件下找到,jar包, 然后,把j…...

Postern配置HTTP和HTTPS的步骤

Postern是一款强大的Android代理工具,它允许您在设备上配置全局代理来实现安全、隐私保护和自由上网。本文将详细介绍如何使用Postern在Android设备上配置HTTP和HTTPS代理,为您提供更便捷的上网体验。 步骤1:下载和安装Postern应用 首先&am…...

DataTableResponseEntity

/// <summary>/// DataTable数据集合返回实体/// </summary>[Serializable]public sealed class DataTableResponseEntity : IResponse{private readonly DataTable sourceTable;private readonly int PageCount;private readonly int totalCount;private readonly…...

Python爬虫(十八)_多线程糗事百科案例

多线程糗事百科案例 案例要求参考上一个糗事百科单进程案例:https://cloud.tencent.com/developer/article/1021994 Queue(队列对象) Queue是python中的标准库&#xff0c;可以直接import Queue引用&#xff1b;队列时线程间最常用的交互数据的形式。 python下多线程的思考…...

无穷级数重要知识点

部分和 s ∑ i 1 n u i s \sum_{i1}^{n} u _{i} si1∑n​ui​ 注意&#xff1a;部分和不是数列的一部分之和&#xff0c;而是一个极限的概念&#xff0c;此处的n是一个极限值&#xff0c; n 趋于正无穷&#xff01; \color{red}n趋于正无穷&#xff01; n趋于正无穷&#x…...

【MyBatis】快速入门

1、简介 MyBatis是一个持久化、轻量级的半自动化ORM框架&#xff0c;封装了所有JDBC的原始操作。查询参数以及获取结果集等。 1.1 原始JDBC操作存在的问题 &#xff08;1&#xff09;数据库连接、释放频繁造成系统资源浪费&#xff0c;影响系统性能 &#xff08;2&#xff09;…...

【gtpJavaScript】使用JavaScript实现套壳gtp与gtp打字输出效果

postman测试gtp接口 https://platform.openai.com/docs/api-reference/chat/create?langcurl 导入到postman中 记得弄一个gtp的key 然后请求测试gtp接口&#xff1a; 纯前端实现gtp请求页面 目录结构&#xff1a; 部分参考&#xff1a;GitHub - xxxjkk/chat-website: 简易版c…...

C++内存管理(2)new、delete详解

目录 new operator&#xff08;new操作&#xff09; new类对象时加不加括号的差别 new工作任务 delete工作任务 new和delete 堆区空间操作&#xff08;对比malloc和free&#xff09; new和delete操作基本类型的空间 new和delete操作基本类型的数组 new和delete操作类的…...

ELK集群搭建流程(实践可用)

一、概述 ELK 是一个由三个开源软件工具组成的数据处理和可视化平台&#xff0c;包括 Elasticsearch、Logstash 和 Kibana。这些工具都是由 Elastic 公司创建和维护的。 Elasticsearch 是一个分布式的搜索和分析引擎&#xff0c;可以将大量数据存储在一个或多个节点上&#xf…...

react-quill富文本 中文输入法触发change问题

使用的富文本是编辑器 react-quill 需求&#xff1a; 点击按钮插入自定义颜色文字&#xff0c;然后手动输入为正常颜色。 问题&#xff1a; quill组件把带颜色的字体创建个dom, 临近的文字都会整合进一个dom中&#xff0c;导致输入的文字和插入的带颜色 都统一成一个颜色了…...

Upload-labs 1~15 通关详细教程

文章目录 Upload-labs 1~15 通关详细教程Pass-01-前端js验证Pass-02-后端MIME验证Pass-03-黑名单验证Pass-04-黑名单验证.htaccessPass-05-文件后缀名大小写绕过Pass-06-文件后缀名空格绕过Pass-07-文件后缀名点绕过Pass-08-文件后缀名::$DATA绕过Pass-09-点空格点空格绕过Pass…...

ChatGPT分析日本排放核污水对世界的影响

文章目录 1 背景2 环境影响3 健康影响4 国际关系影响5 应对措施 近段时间被日本排放核污水到海里的消息刷屏了&#xff0c;这一举措引发了广泛的关注和担忧。本文结合ChatGPT来分析这件事的前因后果、会对世界造成的影响、以及应对措施。 1 背景 受2011年发生的大地震及海啸影响…...

eclipse进入断点之后,一直卡死,线程一直在运行【记录一种情况】

问题描述: 一直卡死在某个断点处&#xff0c;取消断点也是卡死在这边的进程处。 解决方式&#xff1a; 将JDK的使用内存进行了修改 ① 打开eclipse&#xff0c;window->preference->Java->Installed JREs&#xff0c;选中使用的jdk然后点击右侧的edit&#xff0c;在…...

2.5 动态字符串 String (完整源码)

C自学精简教程 目录(必读) C数据结构与算法实现&#xff08;目录&#xff09; 本文的实现基本上和 动态数组 vector 是一样的。 因为大部分接口都一样。 所以&#xff0c;本文就直接给出全部的源码和运行结果。 //------下面的代码是用来测试你的代码有没有问题的辅助代码…...

Ansible之变量

一&#xff09;Ansible变量介绍 我们在PlayBook⼀节中&#xff0c;将PlayBook类⽐成了Linux中的shell。 那么它作为⼀⻔Ansible特殊的语⾔&#xff0c;肯定要涉及到变量定义、控 制结构的使⽤等特性。 在这⼀节中主要讨论变量的定义和使⽤ 二&#xff09;变量命名规则 变量的…...

自动化测试面试常见技术题目

1&#xff1a;一行代码实现1--100之和 print(sum(list(range(1,101)))) 2&#xff1a;如何在一个函数内部修改全局变量 global  修改全局变量 局部作用域只能调用全局作用域的变量&#xff0c;但是不熊修改全局作用域的变量&#xff0c;如果想要修改全局作用域的变量需要gl…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...