Rust环境配置

专栏简介:本专栏作为Rust语言的入门级的文章,目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言,虽然历史没有C++、和python历史悠远,但是它的优点可以说是非常的多,既继承了C++运行速度,还拥有了Java的内存管理,就我个人来说,还有一个优点就是集成化的编译工具cargo,语句风格和C++极其相似,所以说我本人还是比较喜欢这个语言,特此建立这个专栏,作为学习的记录分享。

日常分享:每天努力一点,不为别的,只是为了日后,能够多一些选择,选择舒心的日子,选择自己喜欢的人!


目录

前言

环境配置

windows环境安装

测试

Linux/macos安装

Ubuntu安装

第一步

第二步

Rust的删除

 更新与卸载

Hello,world!

Hello,Cargo!

使用cargo创建项目

Cargo.toml文件

src/main.rs

构建并运行Cargo项目

cargo build命令

cargo run命令

cargo check命令

release构建——发布

总结


前言

Rust 程序设计语言的本质实际在于 赋能empowerment):无论你现在编写的是何种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。这是官网上的一句话,这句话也涵盖了Rust语言的未来广泛的市场,虽然说在中国还没有进行大规模的普及,但是在国外却有了很大的市场,所以说,Rust语言在未来的市场不会太差。所以,从现在开始就可以进入Rust语言的学习。

环境配置

windows环境安装

点击官网网址,该网页会根据你使用的操作系统来给出界面,windows界面下只需要根据你电脑的位数选择安装包下载,然后点击下载好的setup程序,当然,Rust的安装必须要在c的环境里,你要确保你的电脑上有gcc或者isual studio等环境,点击程序后会出现一个蓝色或者黑色的终端,输入1,按Enter,安装完毕,windows下面安装Rust会自带Cargo,所以不再需要单独下载。

测试

打开电脑终端,输入rustc --version命令行,如果出现版本号,代表安装成功。

Linux/macos安装

安装下面的命令,在终端中输入,按照提示完成安装:

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

Ubuntu安装

Ubuntu虽然也是Linux系统,但是用户很多,很多初学者都不会安装,我给出我的安装过程:

第一步

打开终端,输入命令:

sudo apt install rustc -y

第二步

打开终端,输入:

sudo apt install cargo

安装cargo。

Rust的删除

sudo apt remove rustc

 更新与卸载

windows下是通过restup安装的,那么卸载和安装均可以使用工具链Rustup,更新到最新版本的命令行:

rustup update

 卸载Rust和rustup:

rustup self uninstall

 至此,环境安装完毕,开始你的第一条代码:

Hello,world!

每门编程语言的第一条语句“Hello,world!”,我们在这里也来创建一个Hello,world的程序。

利用终端或者直接创建一个文件夹,然后创建一个以.rs为后缀的文件,然后打开,开始输入以下的语句:

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

如果是编译器的话,可以直接使用编译器进行编译,也可以使用终端,输入rustc 文件名.rs命令。然后会得到一个可执行,windows上应该得到的是.exe文件,Linux下会得到二进制可执行,Linux下执行./可执行文件名字,windows下可以直接点击.exe文件。至此,第一条程序创建完成,但是这样太过复杂,有没有一种简单的方式?

Hello,Cargo!

Cargo 是 Rust 的构建系统和包管理器。所以利用cargo进行编译和执行,会大大减轻我们的工作量。为了确保cargo能够使用,先要确保cargo已经扎un安装。

打开终端,输入命令行:cargo --version.

如果出现了版本号,安装成功,否则,需要单独安装。

使用cargo创建项目

我们使用Cargo创建新项目,然后看看与上面创建的“Hello,world!”项目有什么不同,在你放置代码的目录下,打开终端,输入:

$  cargo new hello_cargo
cd hello_cargo

 第一行命令创建了hello_cargo的项目,打开这个项目,你会发现多了几个文件,

进入 hello_cargo 目录并列出文件。将会看到 Cargo 生成了两个文件和一个目录:一个 Cargo.toml 文件,一个 src 目录,以及位于 src 目录中的 main.rs 文件。

这也会在 hello_cargo 目录初始化了一个 git 仓库,以及一个 .gitignore 文件。如果在一个已经存在的 git 仓库中运行 cargo new,则这些 git 相关文件则不会生成;可以通过运行 cargo new --vcs=git 来覆盖这些行为。

Cargo.toml文件

[package]
name = "Rust"
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

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项目

cargo build命令

执行该命令,会出现一些警告和编译成功的通知,如下面:

Compiling Rust v0.1.0 (/home/ddb/文档/Hello)
warning: variable does not need to be mutable
 --> src/main.rs:3:5
  |
3 | let mut s=String::from("Hello,world!");
  |     ----^
  |     |
  |     help: remove this `mut`
  |
  = note: `#[warn(unused_mut)]` on by default

warning: function `gives_ownership` is never used
 --> src/main.rs:9:4
  |
9 | fn gives_ownership()->String {
  |    ^^^^^^^^^^^^^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: function `takes_and_gives_back` is never used
  --> src/main.rs:13:4
   |
13 | fn takes_and_gives_back(a_string: String)->String {
   |    ^^^^^^^^^^^^^^^^^^^^

warning: function `calculate_length` is never used
  --> src/main.rs:21:4
   |
21 | fn calculate_length(s: &String) -> usize {
   |    ^^^^^^^^^^^^^^^^

warning: crate `Rust` should have a snake case name
  |
  = note: `#[warn(non_snake_case)]` on by default
  = help: convert the identifier to snake case: `rust`

warning: variable `worldIndex` should have a snake case name
 --> src/main.rs:4:5
  |
4 | let worldIndex=first_letter(&s);
  |     ^^^^^^^^^^ help: convert the identifier to snake case: `world_index`

warning: `Rust` (bin "Rust") generated 6 warnings
    Finished dev [unoptimized + debuginfo] target(s) in 0.70s

 这个命令会创建一个可执行文件 target/debug/hello_cargo (在 Windows 上是 target\debug\hello_cargo.exe),而不是放在目前目录下。由于默认的构建方法是调试构建(debug build),Cargo 会将可执行文件放在名为 debug 的目录中。

cargo run命令

cargo run 在一个命令中可以同时编译并运行生成的可执行文件,如果你编译过后没有进行改动,那么就不会重新编译,而是直接运行,所以说这个命令非常的简洁。

cargo check命令

该命令快速检查代码确保其可以编译,但并不产生可执行文件,该命令主要是用于检查代码是否出现错误,而不会编译,可以方便操作者检查代码。

使用 Cargo 的一个额外的优点是,不管你使用什么操作系统,其命令都是一样的。所以从现在开始本书将不再为 Linux 和 macOS 以及 Windows 提供相应的命令。

release构建——发布

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

总结

本节主要是讲解一下rust的环境配置以及一些命令,我个人建议是多使用终端进行操作,无论是Linux还是macos,windows系统,cargo的命令都是一样的,所以不再需要记很多的命令。这也是我推荐使用cargo的原因。本节的内容就到此结束,下一节我们正式开始Rust编程语言的学习。

你可能感兴趣的:(Rust编程,rust,开发语言,后端)