《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com)
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相关工具
下面准备开始安装,打开我的电脑,进入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,安装的插件就能起作用了。