Rust-简单安装配置与常用命令
安装Rust
官网:www.rust-lang.org/
Linux or Mac: -curl sh.rustup.rs -sSf | sh
Windows:按官网指示操作
Windows Subsystem for Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
更新与卸载Rust
更新Rust: rustup update
卸载Rust: rustup self uninstall
安装验证
rustc --version
结果格式: rustc 1.71.0 (8ede3aae2 2023-07-12)
会显示最新稳定版的:版本号、commit hash、commit日期
本地文档
安装Rust的时候,还会在本地安装文档,可离线浏览
运行rustup doc 可在浏览器打开本地文档
开发工具
Visual Studio Code -Rust 插件
Clion (Intellij Idea系列) -Rust插件
创建文件夹
mkdir hello_world_1
进入文件夹
cd .hello_world_1
打开vscode
code .
编写Rust程序
程序文件后缀名:rs 文件命名规范:hello_world.rs
编译与运行Rust程序
编译:
rustc main.rs
运行:
-Windows: .main.exe
-Linux/mac: ./main
Rust程序解剖
定义函数: fn main() {} 没有参数,没有返回,main函数很特别:它是每个Rust可执行程序最先运行的代码,打印文本:println!("Hello,world!");Rust的缩进是4个空格而不是tab,println!是一个Rust macro(宏),如果是函数的话,就没有!,"Hello World"是字符串,它是println!的参数,代码以;结尾
编译成功后
windows:
.exe:二进制文件
.rs:源代码
.pdb:带有调试信息的文件
Cargo
Cargo是Rust的构建系统和包管理工具(构建代码、下载依赖的库、构建这些库)
安装Rust的时候会安装Cargo
cargo --version 查看当前版本 (cargo 1.71.0 (cfd3bbd8f 2023-06-08))
使用Cargo创建项目
创建项目:cargo new hello_cargo
一个名为Cargo.toml 的文件,以及一个名为main.rs 的源代码文件,该源代码文件被放置在src 目录下。与此同时,Cargo还会初始化一个新的Git仓库并生成默认的.gitignore 文件。
Cargo.toml
[package]
name = "hello_cargo_1"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[package]是一个区域标签,它表明接下来的语句会被用于配置当前的程序包
name:项目名
version:项目版本
authors:项目作者
edition:使用的Rust版本
最后一行文本中的[dependencies]同样是一个区域标签,它表明随后的区域会被用来声明项目的依赖。
在Rust里面,代码的包称作crate
按照惯例,Cargo会默认把所有的源代码文件保存到src 目录下,而项目根目录只被用来存放诸如README文档、许可声明、配置文件等与源代码无关的文件。
如果你想要使一个手动创建的项目,比如上面创建的“Hello, world!”项目,转为使用Cargo管理的项目,那么你只需把源代码文件放置到src目录下,并且创建一个对应的Cargo.toml配置文件即可。
构建Cargo项目
cargo build
会创建一个可执行文件位置(linux或mac:target/debug/hello_cargo windows:targetdebughello_cargo.exe)
首次使用命令cargo build构建的时候,它还会在项目根目录下创建一个名为Cargo.lock的新文件,这个文件记录了当前项目所有依赖库的具体版本号。
cargo run
使用cargo run命令来依次完成编译和运行任务
输出里没有提示我们编译hello_cargo的信息。这是因为Cargo发现源代码并没有被修改,所以它就直接运行了生成的二进制可执行文件。如果我们修改了源代码,那么Cargo便会在运行之前重新构建项目
cargo check
检查代码,确保能通过编译,但是不产生可执行文件
编写代码的时候可以连续使用cargo check检查代码,提高效率
cargo check跳过了生成可执行程序的步骤,所以它的运行速度要远远快于cargo build
以Release模式进行构建
当准备好发布自己的项目时,你可以使用命令cargo build --release在优化模式下构建并生成可执行程序。它生成的可执行文件会被放置在target/release 目录下,而不是之前的target/debug 目录下。这种模式会以更长的编译时间为代价来优化代码,从而使代码拥有更好的运行时性能。这也是存在两种不同的构建模式的原因。一种模式用于开发,它允许你快速地反复执行构建操作。而另一种模式则用于构建交付给用户的最终程序,这种构建场景不会经常发生,但却需要生成的代码拥有尽可能高效的运行时表现。值得指出的是,假如你想要对代码的运行效率进行基准测试,那么请确保你会通过cargo run --release命令进行构建,并使用target/release 目录下的可执行程序完成基准测试。