这是“Rust for Solana”系列的第一部分,将介绍 Rust 及其工具。 第一步是安装 Rust。 著名的“Hello World”软件紧随其后。 Rust 编程语言 Cargo 的构建和包
这是“Rust for Solana”系列的第一部分,将介绍 Rust 及其工具。 第一步是安装 Rust。 著名的“Hello World”软件紧随其后。 Rust 编程语言 Cargo 的构建和包管理器将在最后介绍。
将使用终端演示几个命令,所有这些行都以 $ 开头。 $ 的出现表示每个命令的开始;您不需要输入它们。这种约定在网络上的教程和示例中经常使用:$ 表示我们应该以普通用户身份运行的命令,# 表示我们应该以管理员身份运行的命令。
安装 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/