七爪源码:博客 1 : Rust for Solana 系列—Rust 入门

这是“Rust for Solana”系列的第一部分,将介绍 Rust 及其工具。 第一步是安装 Rust。 著名的“Hello World”软件紧随其后。 Rust 编程语言 Cargo 的构建和包

这是“Rust for Solana”系列的第一部分,将介绍 Rust 及其工具。 第一步是安装 Rust。 著名的“Hello World”软件紧随其后。 Rust 编程语言 Cargo 的构建和包管理器将在最后介绍。

七爪源码:博客 1 : Rust for Solana 系列—Rust 入门

将使用终端演示几个命令,所有这些行都以 $ 开头。 $ 的出现表示每个命令的开始;您不需要输入它们。这种约定在网络上的教程和示例中经常使用:$ 表示我们应该以普通用户身份运行的命令,# 表示我们应该以管理员身份运行的命令。

安装 Rust

安装 Rust 是使用它的第一步。通常,由于我们将从 Internet 获取 Rust,因此您需要 Internet 连接来执行本节中的任务。

尽管能够在各种平台上运行和编译,但具有 x86 和 x86–64 CPU 架构的 Linux、Mac 和 Windows 获得了最好的支持。 Rust 编译器和标准库在这些平台等的官方版本中可用。访问网页以获取有关 Rust 平台支持的完整信息。

安装:

在 Linux 和 macOS 等 Unix 操作系统上,您只需打开终端并键入以下内容:

$ curl https://sh.rustup.rs -sSf | sh

下载脚本后将开始安装。 如果一切按计划进行,您将看到:

Rust 现已安装。 伟大的!

为 Windows 安装同样简单:下载后运行 rustup-init.exe。 如果安装成功,它将在控制台中启动并显示上一条消息。

访问 Rust 网站的安装页面以获取更多安装选项和详细信息。

卸载:

Rust 的卸载和安装一样简单:

$ rustup self uninstall

故障排除

如果已经安装了 Rust,我们可以打开一个 shell 并输入以下命令:

$ rustc — version

版本号、提交日期和提交哈希都应该显示出来。

如果你这样做了,Rust 已经成功安装了!恭喜!

如果不这样做,PATH 环境变量(包括 Windows 的 %USERPROFILE%.cargobin 和 Unix 的 /.cargo/bin)可能不包括 Cargo 的二进制目录。大多数 Rust 开发人员将此目录保留在他们的 PATH 环境变量中,这样就可以从命令行运行 rustc。该目录包含 Rust 开发工具。您可能需要重新启动 shell、退出系统或手动调整 PATH,具体取决于您的操作环境,因为不同的操作系统、命令 shell 和安装错误有不同的要求。

你必须安装一个链接器,因为 Rust 不能自己处理链接。根据您的特定系统,您可能会这样做。 Rust 将尝试调用 cc 在基于 Linux 的系统上进行链接。这取决于在 windows-msvc 上安装 Microsoft Visual C++ 构建工具(使用 Microsoft Visual Studio 在 Windows 上构建的 Rust)。这些甚至不必在 %PATH% 中,因为 rustc 会自己找到它们。通常,您可以调用 rustc linker=/path/to/cc,其中 /path/to/cc 应该指向您的链接器路径,如果您的链接器位于非标准位置。

如果您仍然遇到困难,我们可以在多个方面获得帮助。最简单的是 irc.mozilla.org 上的#rust-beginners IRC 频道,作为一般性讨论,我们可以使用 Mibbit 访问同一网站上的#rust IRC 频道。在那之后,我们将与其他 Rustaceans(我们给自己取的一个有趣的绰号)交谈,他们可以帮助我们。用户论坛和 Stack Overflow 是另外两个很棒的资源。

此外,此安装程序在本地安装了一份文档副本,因此我们可以在离线时阅读它。只有一个生锈的文档!

Hello, world!

安装 Rust 后,我​们将协助您创建您的第一个 Rust 程序。编写一个小程序来打印消息“Hello, world!”在学习一门新语言时,屏幕是习惯性的,在这一部分,我们将继续这种练习。

从一个程序开始,这个基本功能允许您快速检查您的编译器是否已安装并正常运行,这是一个很好的功能。尽早练习将信息打印到屏幕上是个好主意,因为这也是一项非常常见的任务。

创建项目文件:

首先创建一个文件来存储你的 Rust 代码。为了本书的目的,我建议在你的主目录中创建一个项目目录并将所有项目放在那里,即使 Rust 不关心你的代码保存在哪里。以下命令可用于为此特定项目创建目录:

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

注意:如果您在 Windows 上且未使用 PowerShell,则 ~ 可能不起作用。 有关更多详细信息,请参阅 shell 的文档(或)您可以在 Visual Studio 代码中手动创建和导航到文件(或)使用在线编译器来练习 .

编写和运行 Rust 程序:

对于我们的 Rust 程序,需要创建一个源文件。 Rust 文件最后总是有一个 .rs 扩展名。 如果您的文件名包含多个单词,请使用下划线 (_) 分隔单词; 例如,我的 program.rs 而不是 myprogram.rs。

现在创建一个新文件并将其命名为 main.rs。 打开文件后输入以下代码:

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

保存文件,然后返回终端窗口。 在 Linux 或 macOS 上,输入以下命令:

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

在 Windows 上将 main 替换为 main.exe。 无论您使用什么操作系统,您都应该看到字符串“Hello, world!” 到终端,打印。 如果你成功了,为你点赞! 您现在已经成功创建了一个 Rust 程序。 你现在是一名使用 Rust 的程序员! 欢迎。

Rust 程序剖析:

现在,让我们回顾一下刚刚在“Hello, world!”中发生的事情。 程序详细。 这是拼图的第一部分:

fn main() {}

这些行在 Rust 中定义了一个函数。 main 函数很特别:它是每个 Rust 程序的开始。 第一行说:“我正在声明一个名为 main 的函数,它不接受任何参数并且不返回任何内容。” 如果有参数,它们会放在括号((和))内,因为我们没有从这个函数返回任何东西,我们可以完全省略返回类型。

另请注意,函数体用大括号({ 和})包裹。 Rust 需要这些围绕所有函数体。 将左大括号与函数声明放在同一行被认为是一种很好的风格,两者之间有一个空格。

在 main() 函数内部:

println!("Hello, world!");

这一行完成了这个小程序中的所有工作:它将文本打印到屏幕上。这里有许多重要的细节。首先是它缩进了四个空格,而不是制表符。

第二个重要部分是 println!() 行。这就是调用 Rust 宏,这就是 Rust 中元编程的方式。如果它改为调用一个函数,它看起来像这样: println() (没有!)。稍后我们将更详细地讨论 Rust 宏,但现在你只需要在看到 !这意味着您正在调用宏而不是普通函数。

接下来是“你好,世界!”这是一个字符串。字符串是系统编程语言中一个令人惊讶的复杂主题,这是一个静态分配的字符串。我们将此字符串作为参数传递给 println!,它将字符串打印到屏幕上。够简单!

该行以分号 (;) 结束。 Rust 是一种面向表达式的语言,这意味着大多数东西都是表达式,而不是语句。这 ;表示这个表达式已经结束,下一个表达式已准备好开始。大多数 Rust 代码行都以 ; 结尾。

编译和运行是不同的步骤

我们在“编写和运行 Rust 程序”中演示了如何执行新构建的程序。现在,我们将剖析该过程并分别查看每个步骤。

您必须在运行 Rust 程序之前编译它。通过运行 rustc 命令并为其指定源文件的名称,您可以使用 Rust 编译器:

$ rustc main.rs

如果您有使用 C 或 C++ 的经验,这与 gcc 或 clang 相当。成功构建后,Rust 应该会生成一个二进制可执行文件,您可以在 Linux 或 macOS 上通过在 shell 中键入 ls 命令来查看,如下所示:

$ lsmain  main.rs

在 Windows 上,您将输入:

$ dirmain.exemain.rs

这表明我们有两个文件:带有 .rs 扩展名的源代码和可执行文件(Windows 上的 main.exe,其他地方的 main)。 从这里剩下要做的就是运行 main 或 main.exe 文件,如下所示:

$ ./main  # or .main.exe on Windows

如果 main.rs 是你的“你好,世界!”程序,这将打印 Hello, world!到您的终端。

如果您习惯使用 Ruby、Python 或 JavaScript 等动态语言,您可能不习惯编译和执行是不同的过程。由于 Rust 是一种提前编译的语言,你可以编译一个程序,把它交给另一个人,即使没有安装 Rust,他们也可以运行它。另一方面,如果您向某人提供 a.rb、.py 或 .js 文件,他们必须(分别)安装 Ruby、Python 或 JavaScript,而您只需要一个命令来编译和运行您的应用程序。语言的设计涉及不断的权衡。

对于简单的程序,简单地使用 rustc 编译就足够了,但是随着项目的扩展,您将希望能够处理它的所有选择,并使与其他人和项目共享代码变得简单。然后,我将向您介绍一个名为 Cargo 的包,它将帮助您创建实用的 Rust 程序。

关注七爪网,获取更多APP/小程序/网站源码资源!

原创文章,作者:币圈吴彦祖,如若转载,请注明出处:https://www.kaixuan.pro/news/435690/