You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
3.7 KiB

# 1
## rust语言
```
rustup docs --book 打开本地文档
rustc --version 查看rust版本
rustup update 更新rust
rustup self uninstall 卸载rust和 rustup
cargo --version 查看cargo版本
```
安装时需要 c++ build tools !!, cargo回合rust一同安装。
## rust风格
1. Rust风格默认为四个空格缩进,而不是制表符。
1. println!调用Rust宏。若调用一个函数应输入println(不带!)。
1. 以分号结尾。
## Compiling and Running
1. 运行前需要先使用Rust编译器进行编译,方法是使用rustc命令: rustc xx.rs
2. 在linux和macOS上会生成两个文件 xx.rs、xx; 而在window下会产生三个文件,包含源代码、可执行文件(在windows上为xx.exe,在其他所有平台上都为main),以及使用windows时包含调试信息且扩展名为.pdb的文件![image-20221227111944833](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227111944833.png)
运行方式:
![image-20221227112810717](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227112810717.png)
## cargo
简单的程序可以使用rustc进行编译,但实际开发中,更多是使用Cargo来构建rust系统和包管理器,可以使用cargo构建代码、下载代码所依赖的库以及构建这些库(库一般称为dependencies)
### 使用cargo创建项目
```rust
$ cargo new hello_cargo
```
![image-20221227114101592](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227114101592.png)
![image-20221227114108663](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227114108663.png)
cargo new 如果您在现有的Git存储库中运行,则不会生成Git文件;您可以使用覆盖此行为cargo new --vcs=git。 --vcs参数
![image-20221227114619246](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227114619246.png)
![image-20221227114807597](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227114807597.png)
### TOML格式
TOML(Tom's Obvious, Minimal Language)格式,是Cargo的配置格式。
![image-20221227115110315](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227115110315.png)
[package]为一个节标题,表示以下语句正在配置包,
接下来的三行设置 Cargo 编译程序所需的配置信息:名称、版本和要使用的 Rust 版本。
[dependencies]是您列出任何项目依赖项的部分的开头
rust中代码包被称为crate。此项目暂不需要其他crate
### Compiling and Running
```rust
cargo build
```
此命令在target/debug/hello_cargo(或 Windows 上的target\debug\hello_cargo.exe)而不是当前目录中创建一个可执行文件。
![](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227134259018.png)
同时首次使用cargo build后也会在顶层创建一个新文件:Cargo.lock。该文件用于跟踪项目中依赖项的确切版本。此文件永远不需要手段更改;
```rust
cargo run
```
使用cargo run 不需要到二进制文件的整个路径,更便捷。若修改了源代码,cargo会执行一次 rebuild 操作。
![image-20221227140959687](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227140959687.png)
```
cargo check
```
此命令快速检查您的代码以确保它可以编译但不会生成可执行文件。可以在cargo build前使用此命令,保证项目是可编译的,节省试错时间。
### Building for Release
```
Building for Release
```
*此命令将在target/release*而不是*target/debug*中创建可执行文件,用于发布项目。
![image-20221227142421493](C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221227142421493.png)