本文介绍: 才来实习,由于部门使用的SDK是rust语言,所以先浅浅进行rust学习记录

才来实习,由于部门使用的SDK是rust语言,所以先浅浅进行rust学习记录

Rust是什么?

Rust 程序设计语言的本质实际在于 赋能(empowerment:无论你现在编写的是何种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。(这一点并不显而易见)
举例来说,那些“系统层面”的工作涉及内存管理数据表示和并发底层细节。从传统角度来看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞崩溃或损坏。
Rust 破除了这些障碍:它消除了旧的陷阱,并提供了伴你一路同行的友好、精良的工具 想要 “深入” 底层控制程序员可以使用 Rust,无需时刻担心出现崩溃安全漏洞,也无需因为工具链不靠谱而被迫去了解其中的细节。更妙的是,语言设计本身会自然而然地引导你编写出可靠的代码,并且运行速度和内存使用上都十分高效。
已经在从事编写底层代码程序员可以使用 Rust 来提升信心。例如,在 Rust 中引入并行是相对低风险操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优化,而不会意外引入崩溃漏洞
但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写命令行应用网络服务器等各种类型代码——在本书中就有这两者的简单示例。使用 Rust 能让你把在一个领域中学习的技能延伸到另一个领域:你可以通过编写网页用来学习 Rust,接着将同样的技能用到你的 Raspberry Pi树莓派)上。
本书全面介绍了 Rust 为用户赋予的能力。其内容平易近人,致力于帮助你提升 Rust 的知识,并且提升你作为程序员整体理解与自信。欢迎你加入 Rust 社区,让我们准备深入学习 Rust 吧!
—— Nicholas Matsakis 和 Aaron Turon

rust相比起C/C++等传统语言,拥有着卓越的、天生的内存安全性。相对于C#等带有垃圾回收机制的语言来讲,它遵循了零开销抽象(Zero-Cost Abstraction规则,并为开发者保留了最大底层控制能力。rust是一种专注于安全、并发性能系统编程语言

安装rust

本地安装与文档

在Linux或者Mac OS:

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

如果是安装成功,会显示信息

Rust is installed now. Great!

另外,你还需要一个 链接器(linker),这是 Rust 用来将其编译输出连接到一个文件中的程序。很可能你已经有一个了。如果你遇到了链接错误,请尝试安装一个 C 编译器,它通常包括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装一个 C 编译器
macOS 上,你可以通过运行以下命令获得 C 语言编译器

xcode-select --install

直接复制输入就好了。

在Windows

在 Windows 上,前往 官方教程并按照说明安装 Rust。

获取构建工具,你需要安装 Visual Studio 2022。当被问及需要安装什么工作负载(Workload)的时候,请确保勾选了以下内容
“使用 C++ 的桌面开发”(“Desktop Development with C++”)
Windows 10(或 11)SDK
英语语言包,以及其他你所需要语言

检验一下:

rustc --version

版本号显示出来,就代表你成功了。

更新卸载

rustup update

一行搞定更新

rustup self uninstall

一行搞定卸载

如果你需要查看文档,就执行下面这一行浏览器打开

rustup self uninstall

rust起步

我们的第一个程序hello world

这里是对于LinuxmacOS 和 Windows PowerShell的命令,后面的部分也都默认是在这几类而不是Windows CMD,后续就不再说明了)

mkdir ~/projects	#在home目录建一个projects目录文件夹
cd ~/projects	#进入projects
mkdir hello_world	#在projects建一个hello_world目录文件夹
cd hello_world	#进入hello_world

接下来hello_world目录创建一个源文件命名main.rs。Rust 源文件总是以 .rs 扩展名结尾。如果文件名包含多个单词,那么按照命名习惯,应当使用下划线来分隔单词。例如命名hello_world.rs,而不是 helloworld.rs

touch main.rs

进入文本编辑

vim main.rs

a进入插入模式然后我们源代码放进去:

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

然后Ctrl + X完成保存,再按ESC退出插入模式
最后进行保存

:wq #按冒号+wq,进行修改保存
#如果是未进行过修改直接退出,那就是:q

接下来对这个main.rs进行编译和运行

rustc main.rs
./main

输入上面两行,如果出现了”Hello,world!”,那么恭喜你,已经成功走进了rust的大门!

语法其实对于有基础的同学来说,看起来也很熟悉。
不过要注意:

cargo

如果使用前面部分介绍的官方安装包的话,则自带了 Cargo。如果通过其他方式安装的话,可以在终端输入如下命令检查是否安装了 Cargo

cargo --version

显示版本号证明已经安装。

使用cargo创建项目

  1. 回到 projects 目录
  2. 创建目录项目进入cd
cargo new hello_cargo
cd hello_cargo
  1. 请自行选用文本编辑打开 Cargo.toml 文件。它应该看起来如下所示
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

这个文件使用 TOML (Tom’s Obvious, Minimal Language) 格式,这是 Cargo 配置文件格式

第一行,[package],是一个片段(section)标题,表明下面的语句用来配置一个包。随着我们在这个文件增加更多的信息,还将增加其他片段(section)。

接下来的三行设置了 Cargo 编译程序所需的配置项目名称项目版本以及要使用的 Rust 版本。附录 E 会介绍 edition 的值。

最后一行,[dependencies],是罗列项目依赖的片段的开始。在 Rust 中,代码包被称为 crates。这个项目并不需要其他的 crate,不过在第二章的第一个项目会用到依赖,那时会用得上这个片段。

现在打开 src/main.rs 看看

文件名src/main.rs

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

Cargo 为你生成了一个 “Hello, world!” 程序,正如我们之前编写示例 1-1!目前为止,我们的项目与 Cargo 生成项目的区别是 Cargo 将代码放在 src 目录,同时项目根目录包含一个 Cargo.toml 配置文件

Cargo 期望源文件存放src 目录中。项目根目录只存放 README、license 信息配置文件和其他跟代码无关的文件。使用 Cargo 帮助你保持项目干净整洁,一切井井有条。

如果没有使用 Cargo 开始项目,比如我们创建的 Hello,world! 项目,可以将其转化为一个 Cargo 项目。将代码放入 src 目录,并创建一个合适的 Cargo.toml 文件

cargo基本命令

  1. 编译并执行
cargo run    #编译形成可执行文件运行
  1. 如果是只编译
cargo build

由于默认构建方法调试构建debug build),Cargo 会将可执行文件放在名为 debug 的目录中。

所以要执行的话

./target/debug/hello_cargo

选择执行正确路径下的文件就好,到这里效果就相当于cargo run了。

所以平时没有特殊需求,就直接cargo run

  1. 不编译但确认可编译
cargo check

check的意义是让你确认你编写的代码没有语法上的错误,平时就check检错,当你真正要执行代码的时候,再build或者run就好。

当项目最终准备发布时,可以使用 cargo build --release 来优化编译项目。这会在 target/release 而不是 target/debug 下生成可执行文件。这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。这也就是为什么会有两种不同的配置:一种是为了开发,你需要经常快速重新构建;另一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好。如果你在测试代码的运行时间,请确保运行 cargo build --release 并使用 target/release 下的可执行文件进行测试

其实,要在任何已存在的项目上工作时,可以使用如下命令通过 Git 检出代码,移动到该项目目录并构建:

$ git clone example.org/someproject
$ cd someproject
$ cargo build

这里我们对rust的构建和运行已经了解了,可以开始我们的rust之路了。

摘选自:
Rust程序设计语言中文版

原文地址:https://blog.csdn.net/zdsey/article/details/134441843

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_11381.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注