Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. Rust is syntactically similar to C++ ,but can guarantee memory safety by using a borrow checker to validate references. Rust achieves memory safety without garbage collection, and reference counting is optional. Rust has been called a systems programming language, and in addition to high-level features such as functional programming it also offers mechanisms for low-level memory management.
以上内容摘自wiki,rust是一种系统级编程语言,以“安全、并发、实用”为设计原则,支持函数式、并发式、过程式以及面向对象的程序设计风格,在语法上,与c++类似。
反正网上各种资料对于rust的介绍已经讲的七七八八了,感兴趣可以自己去查一查,这里只是提一嘴
Rust 的编译工具依赖于 C 语言的编译工具,安装之前确保已经存在至少一个 C 语言的编译环境,Windows上需安装Visual Studio(需要 C/C++ 支持)以使用 MSVC 或者安装 MinGW + GCC 编译环境。以下安装均推荐使用rustup
进行安装
参照安装 Rust - Rust 程序设计语言 (rust-lang.org)给出的安装教程,下载RUSTUP-INIT.EXE
安装器进行安装,也可以使用package manager Chocolatey或者Scoop进行安装,官方建议是使用rustup
进行安装
其他平台(Linux、mac、WSL等)的安装相对于windows则更加简便,安装方法也更加多样,可以通过对应平台的package manager来安装,也可以下载rustup-init.sh
进行安装
#Linux上
curl https://sh.rustup.rs -sSf | sh
#或者curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
安装好后,终端运行
rustc --version
cargo --version
两个命令均能输出版本号则表示安装成功
安装完成后,第一件事当然就是进行神圣的hello_world仪式
创建一个main.rs
文件,写入
fn main() {
println!("Hello, world!");
}
文件目录下打开终端,终端输入
rustc main.rs
#`rustc`的使用与`gcc`和`clang`类似,编译成功将返回可执行的二进制文件
此时可以看到在同目录下生成了一个二进制可执行文件,终端运行此文件
./main(.exe)
Hello, world!
成功打印出Hello, world!
,恭喜你成功入坑
官方网站公布支持的工具如下,https://www.rust-lang.org/zh-CN/tools
习惯使用JetBrains系列的同学推荐使用CLion
打开plugins
,搜索Rust
,找到如下插件并安装
重启IDE,新建项目,此时可以看到已经可以进行Rust项目的创建
推荐安装Rust and Friends
此插件将安装大部分rust开发所需的插件
说句题外话,同时推荐安装copilot
,ai代码补全,值得一试,个人感觉比起kite一类的更好用
hello world中我们直接使用rustc
来编译,随着项目的增大,此时我们需考虑项目的管理。Cargo
是Rust的系统构建和package的管理工具,Rust开发者使用cargo来管理Rust项目,cargo可以帮助构建代码、下载并构建代码所依赖的libraries,用官方的话来说就是
通过cargo的new命令我们可以新建项目,在shell中输入
cargo new hello_cargo
成功创建了一个名为hello_cargo
的项目,进入项目文件夹,cargo为我们生成了两个文件和一个文件夹,a Cargo.toml
file and a src
directory with a main.rs
file inside,同时cargo初始化了git仓库,.gitignore
。与之前不同的是 Cargo 将代码放在 src 目录,同时项目根目录包含一个 Cargo.toml 配置文件。
.tmol
是rust的设置文件格式,打开此文件,此文件包含了 Cargo 编译程序所需的配置,通过修改此文件我们即可完成一些编译配置
[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]
使用build
命令可以编译项目,run
命令可以运行项目
第一次执行build
命令,cargo会在根目录下生成cargo.lock
文件,该文件记录了项目依赖项的确切版本
cargo build
编译完成后,我们可以看到在./target/debug/
目录下生成了一系列文件,同时还有个二进制可执行文件,终端运行此文件我们可以看到终端打印出了Hello, world!
cargo run
run
命令将首先检查源文件是否被修改,如果发生修改,则进行重新编译,并允许可执行文件,否则直接运行原可执行文件,运行cargo run
我们同样可以看到终端打印出了Hello, world!
单纯地使用build
或者run
命令,rust默认是以debug模式编译的,此时我们可以通过**flag:release
**,使用release模式对项目进行编译优化,即
cargo build --release
# 或者
cargo run --release
与直接build不同,生成的文件将在**./target/release
**中,而非./target/debug
,同时因为优化,rust代码能够更快地执行,但也因此需要更多的时间编译
至此,我们学习了
rustc
编译项目,并运行程序cargo
创建、编译、运行项目