搭建Windows下的Rust开发环境

news2024/11/26 6:19:52

【图书介绍】《Rust编程与项目实战》-CSDN博客

《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com)

Rust编程与项目实战_夏天又到了的博客-CSDN博客

2.1.1  安装vs_buildtools

在Windows系列操作系统中,Rust开发环境需要依赖C/C++编译环境,因此需要先安装C/C++工具vs_buildtools。步骤如下。

首先安装vs_buildtools工具。打开浏览器,访问https://visualstudio.microsoft.com/zh-hans/ visual-cpp-build-tools/,单击“下载生成工具”按钮,如图2-1所示。

图2‑1

Microsoft C++生成工具通过可编写脚本的独立安装程序提供MSVC工具集,无须使用Visual Studio。如果从命令行界面(例如持续集成工作流中)生成面向 Windows 的 C++ 库和应用程序,则推荐使用此工具,Visual Studio 2015 Update 3、Visual Studio 2017、Visual Studio 2019和最新版本的Visual Studio 2022中提供这个工具。

下载下来的文件是vs_BuildTools.exe,如果不想下载,也可以在源码目录的 somesofts文件夹下找到vs_BuildTools.exe。双击下载的vs_BuildTools.exe文件,按照提示默认安装,在最后选择安装组件时按图2-2进行选择。

图2‑2

然后单击右下角的“安装”按钮开始安装,如图2-3所示。

图2‑3

一直到安装结束,这样,我们就完成了vs_BuildTools工具的安装。

2.1.2  安装Rust相关工具

打开浏览器,访问https://www.rust-lang.org/zh-CN/tools/install,根据当前操作系统的环境(目前主流操作系统一般都是64位操作系统),单击“下载RUSTUP-INIT.EXT(64位)”按钮下载Rust安装工具。下载下来的文件是rustup-init.exe,如果不想下载,也可以在somesofts文件夹下找到。

下面准备开始安装,打开我的电脑,进入rustup-init.exe所在的目录,然后在资源管理器地址栏输入cmd后按Enter键,此时会打开命令行窗口,并自动定位到rustup-init.exe所在的目录,如图2-4所示。

然后在命令行窗口执行以下命令:

set RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static

set RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

设置这些环境变量的目的是让Rust安装包使用国内Rust镜像库安装,以提高相关Rust软件包的下载速度。之后直接在命令行下执行rustup-init.exe,选择一项(default)后按Enter键开始安装,如图2-5所示。     

                                      

如果一切顺利(不顺利可能是因为你的网络不稳定),最终会出现安装成功的提示,如图2-6所示。

图2‑6

安装成功后,就可以验证相关工具是否处于可用状态。比如我们可以通过选项-V来查看版本。关闭当前命令行窗口,再重新打开命令行窗口,然后执行以下两个命令:

C:\Users\Administrator>cargo -V

cargo 1.72.1 (103a7ff2e 2023-08-15)



C:\Users\Administrator>rustc -V

rustc 1.72.1 (d5c2e9c34 2023-09-13)

其中,cargo是Rust的工程包管理工具。如果每条命令的输出都是你安装的Rust版本号,说明该工具安装成功。

2.1.3  第一个Rust项目

本节我们趁热打铁,开始编写第一个Rust项目。这个项目纯手工打造,没有用到集成开发环境。

【例2.1】  第一个Rust项目

 新建项目。打开命令行窗口,在硬盘的某个路径(这里是D:\ex\)下执行命令:

D:\ex>cargo new firstrust

Cargo是Rust的工程管理工具,使用Cargo创建项目后,将在D:\ex下自动新建一个文件夹firstrust,并且在firstrust下生成文件夹和文件,如图2-7所示。

其中,文件.gitignore用于版本管理工具Git,现在我们没有用Git工具,所以不需要理会这个文件。文件Cargo.toml 是工具Cargo 的元配置文件,里边包含项目名称、版本号等内容,该文件从用户的角度出发来描述项目信息和依赖管理,因此它是由用户来编写的,它又被称为清单(manifest),文件格式是TOML(Tom's Obvious Minimal Language),这是一种用于配置文件的文件格式,它被设计为易于读写,并且在结构上类似于INI文件。文件夹src下也会生成一个文件main.rs,这个.rs文件就是Rust语言的源代码文件,此时里面已经有内容了:

​​​​​​​fn main() {

    println!("Hello, world!");

}

是不是感觉有点像C语言,有C编程基础的读者一看便知,这个main函数将打印一行字符串“Hello, world!”。这里的main函数也是整个Rust项目的入口函数。

编译运行程序。在命令行下进入目录D:\ex\firstrust,然后执行命令:

D:\ex\firstrust>cargo run

   Compiling firstrust v0.1.0 (D:\ex\firstrust)

    Finished dev [unoptimized + debuginfo] target(s) in 6.73s

     Running `target\debug\firstrust.exe`

Hello, world!

可以看到,编译成功,并且运行成功了,最终打印了字符串“Hello, world!”。如果有兴趣,还可以用文本编辑器(比如记事本)打开main.rs,然后改变一下字符串,再编译运行,看看运行结果是否发生了变化。

此时我们到文件夹firstrust下查看,可以发现多出了文件Cargo.lock和文件夹target,它们是编译过程中自动生成的。其中,文件Cargo.lock也是工具Cargo的元配置文件,它包含依赖的精确描述信息,它是由Cargo自行维护的,因此不需要手动修改。文件夹D:\ex\firstrust\target\debug下包含可执行文件firstrust.exe,直接双击它就可以运行。

至此,Rust相关工具的安装工作就完成了。但这个开发环境比较简陋,下面我们搭建集成开发环境来开发Rust程序。

2.1.4  VS Code搭建Rust开发环境

 尽管我们可以采用文本编辑器完成Rust源码编辑,然后通过Cargo运行、调试Rust程序,这对于学习Rust语言足够了。但是在实际应用开发工程中,很少有人采用各种原始的生产方式,毕竟效率实在是太低了。所以一般在应用开发过程中,为了提升生产效率,开发人员都会采用集成开发环境(Integration Development Environment,IDE)开展实际生产开发工作。Rust官方没有提供IDE,我们完全可以采用VS Code + 插件的方式搭建一个轻量级的IDE。

打开浏览器访问https://code.visualstudio.com/Download,然后根据操作系统平台(目前流行的操作系统一般是64位),单击System Installer旁的x64链接,以此来下载64位的安装包,如图2-8所示。

下载下来的文件是VSCodeSetup-x64-1.76.1.exe,如果不想下载,也可以在本书配套源码somesofts文件夹下找到。安装过程非常简单,这里不再赘述。

VS Code刚装好只是一个编辑器,很多功能都需要安装插件才能拥有,下面我们准备安装3个插件:Code Runner、rust-analyzer和CodeLLDB。

打开VS Code,单击左侧的Extensions工具按钮,或者直接按快捷键Ctrl+Shift+X,如图2-9所示。

   

在Search Extensions in Marketplace...输入框中输入Code Runner后按Enter键,此时将搜索到Code Runner这个插件,单击Install按钮就可以开始安装了,如图2-10所示。

Code Runner是Jun Han编写的一款VS Code代码运行插件,可以运行多种语言的代码片段或代码文件,比如C、C++、Java、Objective-C、Rust等。此插件安装成功后,会在VS Code的右上角出现一个三角形按钮,如图2-11所示。以后要运行程序时,直接单击这个三角形按钮即可。

            

再搜索下一个插件rust-analyzer,在Search Extensions in Marketplace...输入框中输入rust-analyzer,然后按Enter键,等搜出来后,单击install按钮。rust-analyzer会实时编译和分析你的 Rust 代码,提示代码中的错误,并对类型进行标注,还可以实现自动补全、语法高亮等功能。

还要安装插件CodeLLDB,CodeLLDB的作用是Debug。在Search Extensions in Marketplace...输入框中输入CodeLLDB,然后按Enter键,等搜出来后,单击Install按钮开始安装。如果在线安装比较慢,我们也可以先把整个插件安装包下载下来,然后离线安装。下载地址如下:

https://github.com/vadimcn/codelldb/releases/download/v1.9.0/codelldb-x86_64-windows.vsix

下载下来的文件是codelldb-x86_64-windows.vsix,如果不想下载,也可以在somesofts文件夹下找到,然后打开VS Code,单击左侧工具栏上的Extensions按钮,然后把文件codelldb-x86_64-windows.vsix拖入VS Code的Extensions页下的空白处,稍等片刻,VS Code右下角会提示安装完成。最后重新启动VS Code,安装的插件就能起作用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2128818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】网络层协议——IP

一、IP协议 在前面,我们学习了应用层和传输层,接下来,我们来学习网络层,网络层的主要功能是在复杂的网络环境中确定一个合适的路由。 1.1 IP协议的基本概念 主机:配有IP地址,有可以进行路由控制的设备路由…

韶音开放式耳机好用吗?南卡、韶音、Oladance、Cleer热门开放式耳机一周横评

​最近开放式耳机真的是很热门的一类蓝牙耳机了,很多博主以及达人现在都戴上了开放式耳机,那么作为一名从业三年的数码博主,我也不能落下了!今天就买了四款目前市面上很热门的开放式耳机,今天深度测评一下这些开放式耳…

超好用的PC端语音转文字工具CapsWriter-Offline结合内网穿透实现远程使用

文章目录 前言1. 软件与模型下载2. 本地使用测试3. 异地远程使用3.1 内网穿透工具下载安装3.2 配置公网地址3.3 修改config文件3.4 异地远程访问服务端 4. 配置固定公网地址4.1 修改config文件 5. 固定tcp公网地址远程访问服务端 前言 本文主要介绍如何在Windows系统电脑端使用…

spring综合性利用工具-SpringBootVul-GUI(五)

项目地址 https://github.com/wh1t3zer/SpringBootVul-GUI 0x01简介 本着简单到极致的原则,开发了这么一款半自动化工具(PS:这个工具所包含了20个漏洞,开发不易,有任何问题可提issue) 尽管是一个为懒人量…

征稿啦!第 19 届「中国 Linux 内核开发者大会」重磅启动

第十九届中国 Linux 内核开发者大会(CLK )如期而至。CLK 以“自由、协作、创新”为理念,以开源技术的推广和普及为使命,旨在促进 Linux 内核开发爱好者相互交流,共同进步。 经过组委会公开征集承办单位和各意向承办单…

【大模型理论篇】大模型周边自然语言处理技术(NLP)原理分析及数学推导(Word2Vec、TextCNN、Gated TextCNN、FastText)

1. 背景介绍 进入到大模型时代,似乎宣告了与过去自然语言处理技术的结束,但其实这两者并不矛盾。大模型时代,原有的自然语言处理技术,依然可以在大模型的诸多场景中应用,特别是对数据的预处理阶段。本篇主要关注TextCN…

2024年【电气试验】最新解析及电气试验模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 电气试验最新解析考前必练!安全生产模拟考试一点通每个月更新电气试验模拟试题题目及答案!多做几遍,其实通过电气试验模拟试题很简单。 1、【单选题】()一旦发生击穿后,构成永久性破…

【项目案例】嵌入式Linux比较好的10+练手项目推荐,附项目文档/源码/视频

后台私信小雯老师,回复“嵌入式Linux项目”,免费获取以下所有项目配套源码及文档。 练手项目推荐 1 智能猫眼 项目功能介绍: 1. 人脸识别:基于百度专业的深度学习算法和海量数据训练可进行人脸识别,轻松知晓访客身份…

中伟视界:煤矿皮带运输机异物监测AI算法能检测哪几种异物,通过什么方式来判断异物?

在矿山运输系统中,运输皮带上可能出现各种异物,如大煤块、锚杆、钻杆、煤矸石、木板、铁棍等。这些异物会对运输系统造成损害,影响生产效率,甚至引发安全事故。为了实时监测并识别这些异物,现代技术采用AI算法进行分析…

韩国客户到访国信华源 共谋合作新篇章

金秋送爽,也带来了合作共赢的喜讯。 9月10日,北京国信华源科技有限公司北京总部迎来了韩国客户代表团。双方在山洪地灾监测预警及智慧水利领域开展友好交流,此次访问不仅增进了中韩两国企业的相互了解,更为双方未来的深度合作奠定…

【数据分析预备】Pandas

Pandas 构建在NumPy之上,继承了NumPy高性能的数组计算功能,同时提供更多复杂精细的数据处理功能 安装 pip install pandas导入 import pandas as pdSeries 键值对列表 # 创建Series s1 pd.Series([5, 17, 3, 26, 31]) s10 5 1 17 2 3 3 26 4 31 dt…

网站被爬,数据泄露,如何应对不断强化的安全危机?

近年来,众多传统零售商和互联网企业借助大数据、人工智能等先进技术手段,通过场景化设计、优化客户体验、融合线上线下渠道,推动了网络电商行业的消费方式变革,成为电商领域新的增长动力。 但值得注意的是,网络电商带来…

Kubernetes从零到精通(09-工作负载-Job、CronJob)

在Kubernetes中,Job和CronJob是两种用于执行一次性或周期性任务的工作负载类型。它们非常适合处理短暂任务、批处理任务、或定时任务。以下是它们的详细介绍。 Kubernetes Job Job控制器的任务是确保一个或多个Pod成功完成,适合用于一次性任务或批处理任…

4.2 数据定义伪指令

🎓 微机原理考点专栏(通篇免费) 欢迎来到我的微机原理专栏!我将帮助你在最短时间内掌握微机原理的核心内容,为你的考研或期末考试保驾护航。 为什么选择我的视频? 全程考点讲解:每一节视频都…

Scratch中秋节游戏——玉兔收集月饼

小虎鲸Scratch资源站-免费Scratch作品源码,素材,教程分享平台! 中秋节将至,想要在这个团圆的日子里增添一点趣味和创意吗?小虎鲸Scratch资源站为大家带来了一款独具特色的中秋节游戏——玉兔收集月饼!这款Scratch游戏不仅充满了节日的气氛&am…

编辑VMware17虚拟机设置的时候出现不可恢复错误Exception 0xc0000094 has occurred的解决方法

【问题原因】因为导入的虚拟机是在VMware17版本之前导入的,其不能和VMware17很好的兼容 【解决方法】 1.点击虚拟机--管理--更改硬件兼容性 2.下一步--选择你导入虚拟机时的VM版本,我的是16,所以选择16 3.然后下一步--完成就解决了,编辑虚拟…

7-2 一元多项式的乘法与加法运算(map)

注意注意&#xff1a;输出的 每行的 最后的数字 后面也不许加空格&#xff08;不然会格式错误&#xff09; 代码&#xff1a; #include<iostream> #include<map> using namespace std; map<int,int>a,b,c; int main(){int n; cin>>n;for(int i0;i<…

富时A50股指期货与上证50股指期货:两者有何关联?

在股市投资的世界里&#xff0c;股指期货是一种重要的金融工具&#xff0c;能够帮助投资者对冲风险、把握市场机会。今天&#xff0c;我们就来聊聊两个热门的股指期货品种——富时A50股指期货和国内的上证50股指期货&#xff0c;看看它们之间到底有什么关系。 什么是富时A50股…

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(六):Blender烘培和UE5导入

前言 本系列教程旨在使用UE5配置一个具备激光雷达深度摄像机的仿真小车&#xff0c;并使用通过跨平台的方式进行ROS2和UE5仿真的通讯&#xff0c;达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础&#xff0c;Nav2相关的学习教程可以参考本人的其他博…

【互联网的低潮期】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…