【Rust学习记录】1. 开发环境搭建

TwoSix Lv3

本系列参考书目:《RUST权威指南》

久闻rust大名,趁着研究生还是学习生涯,抽空出来试试这个所谓的既高效,又安全的语言

环境安装与搭建

Rust安装

windows的安装很傻瓜式,只要进入官网 ,下载最新版本的安装包,按照进行安装即可。期间可能会提示让你安装VS的工具,照着安装即可。

安装完成后,就可以通过 rustc --version 来测试是否安装成功了。

同时,安装后rust也会在本地生成一份文档,可以通过 rustup doc 用浏览器打开。

Hello World!

接下来进行一个开启一门全新语言的必备仪式,hello world!

  1. 新建一个文件命名为 hello.rs rs就是rust代码文件的后缀
  2. 编写代码
1
2
3
fn main(){
println!("Hello, world!");
}
  1. 编译程序 rustc hello.rs ,接下来就会看到文件夹内生成了一个可执行文件 hello.exe,执行它,就能看到你的 hello world啦~跨过这一步,我们就是一名rust开发者了

稍微了解一下这个函数

首先fn就是function的缩写,用来定义函数;其他语法都和c++差不多,唯独不一样的就是函数println后带着一个感叹号,这似乎是rust里的宏机制,这个后面再学学吧。

Cargo的安装与使用

创建项目

书上写的是,cargo是构建+包管理的工具,或许可以理解成,ubuntu里的apt+cmake的组合?

在安装rust时就已经同步安装了cargo,我们可以通过 cargo --version 来检查是否正确安装

1
cargo new hello_cargo

这一个命令会使用cargo来创建新的项目架构,我们进入创建的hello_cargo文件夹,可以看到cargo帮我们初始化了一个Cargo.toml文件,一个src目录,放置了一个main.rs的源文件,还有一个.gitignore文件,说明它还帮我们配置了git版本管理

关于toml文件,我们可以用编辑器打开它

1
2
3
4
5
6
7
8
[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]

我们可以看到这么些东西,上面自然就是你所创建的代码包的相关信息,而dependencies就是我们代码需要依赖的第三方包信息,不过我们一个hello world不需要什么,所以现在这里是空的。

也就是说,这是个rs项目的标准配置文件

我们再打开main.rs,就会发现cargo已经帮我们写好了一个hello world程序~

编译、运行与发布

之前用rustc来编译单个文件,现在我们来使用cargo构建整个项目,首先回到根目录 hello_cargo,输入命令

1
cargo build

img

编译完成如上图,我们就可以发现,目录里生成了一个target文件夹,在./targe/debug 目录下,就可以找到我们编译成功的可执行文件了,同样运行它,就能看到 hello world了

PS:如果想要编译+运行,可以使用 cargo run 命令(若源代码未发生改变,cargo run不会重新进行构建,而是直接运行)

另外,cargo还有一个比较好用的命令 cargo check ,这个命令可以让你在编译大型程序的时候,免去漫长的编译等待,快速的知道代码能否完成编译(真的这么神吗,cmake编译一个小时opencv最后环境出错编译失败的我如此问道)


如果你已经准备好发布你的程序了,那么就可以用 cargo build --release 来编译代码,它会在 target/release 的目录下生成可执行文件,和debug不同的是,它会花更长的编译时间来优化你的代码,使代码有更好的运行性能。也就是说,普通的build侧重于快速的编译,让你调试程序,release build侧重于可执行文件的运行性能,用来交付给用户。

img

可以看到编译后有一个optimized的标签,表示是优化过的target,同时也少了debug info。(但编译速度更快了,应该就是我之前debug编译过一次,基于那个的基础上,又花了0.84s进行优化)

PS:同理,你想编译完直接测试,可以用 cargo run --release

这么看来,cargo应该就是rust构建项目的核心工具了。

到此为止,第一章结束。

  • 标题: 【Rust学习记录】1. 开发环境搭建
  • 作者: TwoSix
  • 创建于 : 2023-03-24 22:14:11
  • 更新于 : 2024-07-04 23:52:28
  • 链接: https://twosix.page/2023/03/24/【Rust学习记录】1-开发环境搭建/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论