Rust开发第一步,安装Rust和编写Helloworld程序

查理谈科技 2024-05-08 00:27:28

近年来,Rust 发展十分迅速, 2021 年,Rust 基金会成立,Mozilla、Amazon、华为、谷歌、微软作为创始白金成员,五家企业承诺在两年时间里,每年投入不少于 100 万美元的预算,用于 Rust 项目的开发、维护和推广。

华为会成为Rust 基金会的创始白金成员,可能会令很多人可能会吃惊。据华为开源首席专家、Rust 基金会董事侯培新在一次采访中提道,华为的业务形态中有大量需要高网络安全、高性能的场景,网络安全中由不正确的内存访问引起的问题占有相当突出的比例,而 Rust 就是一款以解决编程时引入内存访问问题、同时保持高性能的系统编程语言,这和华为的目标场景高度匹配。

一、安装Rust

学习Rust的第一步是安装 Rust。 在这里将通过 rustup 下载 Rust,这是一个用于管理 Rust 版本和相关工具的命令行工具, 需要连接互联网才能下载。

(一)、在 Linux 或 macOS 上安装 rustup

如果使用的是 Linux 或 macOS,请打开终端并输入以下命令:

$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

该命令下载脚本并开始安装 rustup 工具,该工具将安装 Rust 的最新稳定版本。 系统可能会提示您输入密码。 如果安装成功,会出现下面一行:

Rust is installed now. Great!

另外,还需要一个链接器linker,这是 Rust 用来将其编译输出连接到一个文件中的程序。 您很可能已经拥有一个。 如果出现链接器错误,则应安装 C 编译器,该编译器通常包含链接器。 C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,并且需要 C 编译器。

在 macOS 上,您可以通过运行以下命令来获取 C 编译器:

$ xcode-select --install

Linux 用户通常应该根据其发行版的文档安装 GCC 或 Clang。 例如,如果使用 Ubuntu,则可以安装 build-essential 包。

(二)、在 Windows 上安装 rustup

在 Windows 上,访问https://forge.rust-lang.org/infra/other-installation-methods.html#standalone并按照安装 Rust 的说明进行操作。

在安装过程中的某个时刻,会有提示信息,指明还需要 Visual Studio 2013 或更高版本的 MSVC 构建工具。

要获取构建工具,您需要安装 Visual Studio 2022。当被询问要安装哪些工作负载时,包括:

使用 C++ 进行桌面开发Windows 10 或 11 SDK英语语言包组件以及您选择的任何其他语言包二、编写Rust 版的Hello World

现在已经安装了 Rust,是时候编写第一个 Rust 程序了。 学习一门新语言时,传统做法是编写一个小程序来打印文本“Hello, world!” 到屏幕上,所以我们在这里也做同样的事情!

(一)、创建项目目录

您将首先创建一个目录来存储 Rust 代码。 对于 Rust 来说,你的代码所在的位置并不重要,但对于本书中的练习和项目,我们建议在你的主目录中创建一个项目目录,并将所有项目保存在那里。

打开终端并输入以下命令来创建项目目录和“Hello, world!”目录 项目位于项目目录中。

对于 Linux、macOS 和 Windows 上的 PowerShell,请输入:

$ mkdir ~/projects$ cd ~/projects$ mkdir hello_world$ cd hello_world

对于 Windows CMD,请输入:

> mkdir "%USERPROFILE%\projects"> cd /d "%USERPROFILE%\projects"> mkdir hello_world> cd hello_world

(二)、编写并运行 Rust 程序

接下来,创建一个新的源文件并将其命名为 main.rs。 Rust 文件始终以 .rs 扩展名结尾。 如果文件名中使用了多个单词,Rust的惯例是使用下划线分隔它们。 例如,使用 hello_world.rs 而不是 helloworld.rs。

现在打开刚刚创建的 main.rs 文件并输入清单 1-1 中的代码。

文件名: main.rs

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

保存文件并返回到 ~/projects/hello_world 目录中的终端窗口。 在 Linux 或 macOS 上,输入以下命令来编译并运行该文件:

$ rustc main.rs$ ./mainHello, world!

在 Windows 上,输入命令 .\main.exe 而不是 ./main:

> rustc main.rs> .\main.exeHello, world!

无论您使用什么操作系统,字符串 Hello, world! 应该打印到终端。

恭喜! 你已经正式编写了一个 Rust 程序。 这使您成为一名 Rust 程序员——欢迎!

(三)、理解helloworld程序

让我们回顾一下这个Helloworld Rust程序。 这是拼图的第一块:

fn main() {}

这些行定义了一个名为 main 的函数。 main 函数很特殊:它始终是每个可执行 Rust 程序中运行的第一个代码。

这里,第一行声明了一个名为 main 的函数,它没有参数,也不返回任何内容。 如果有参数,则将其放在括号 () 内。

函数体被包裹在{}中。 Rust 要求所有函数体都用大括号括起来。 将左大括号与函数声明放在同一行,并在中间添加一个空格是一种很好的风格。

注意:

如果想在 Rust 项目中坚持使用标准样式,可以使用名为 rustfmt 的自动格式化工具以特定样式格式化代码。 Rust 团队已将此工具包含在标准 Rust 发行版中,就像 rustc 一样,因此它应该已经安装在计算机上的Rust环境中!

主函数的主体包含以下代码:

println!("Hello, world!");

这一行完成了这个小程序中的所有工作:它将文本打印到屏幕上。 这里有四个重要细节需要注意。

首先,Rust 风格是用四个空格缩进,而不是制表符。

第二,println! 调用 Rust 宏。 如果它调用了一个函数,那么它将被输入为 println (不带!)。 后面会更详细地讨论 Rust 宏。现在, 只需要知道使用 ! 意味着正在调用宏而不是普通函数,并且宏并不总是遵循与函数相同的规则。

第三,字符串“Hello, world!” 。 将这个字符串作为参数传递给 println!,并将该字符串打印到屏幕上。

第四,Rust语句以分号 (;) 结束该行,这表明该表达式已结束,下一个表达式已准备好开始。 大多数 Rust 代码行都以分号结尾。

第五,编译和运行Rust

刚刚运行了一个新创建的程序,所以 检查一下该过程中的每个步骤。

在运行 Rust 程序之前,必须使用 Rust 编译器来编译它,方法是输入 rustc 命令并向其传递源文件的名称,如下所示:

$ rustc main.rs

如果之前您之前有 C 或 C++ 背景,您会注意到这与 gcc 或 clang 类似。 编译成功后,Rust 输出一个二进制可执行文件。

在 Linux、macOS 和 Windows 上的 PowerShell 上,您可以通过在 shell 中输入 ls 命令来查看可执行文件:

$ls

在 Linux 和 macOS 上,您将看到两个文件。 使用 Windows 上的 PowerShell,您将看到与使用 CMD 看到的相同的三个文件。

这显示了扩展名为 .rs 的源代码文件、可执行文件(Windows 上为 main.exe,但在所有其他平台上为 main),以及使用 Windows 时包含扩展名为 .pdb 的调试信息的文件。 从这里,您运行 main 或 main.exe 文件,如下所示:

$ ./main 

在Window 平台运行下面的语句:

.\main.exe 

如果你的 main.rs 是你的“Hello, world!” 程序中,这一行打印 Hello, world! 到您的终端。

如果您更熟悉动态语言,例如 Ruby、Python 或 JavaScript,您可能不习惯将程序编译和运行作为单独的步骤。

Rust 是一种提前编译的语言,这意味着您可以编译程序并将可执行文件提供给其他人,即使没有安装 Rust,他们也可以运行它。

0 阅读:0

查理谈科技

简介:感谢大家的关注