前记
Rust 也为系统编程世界带来了现代化的开发工具:
- Cargo 是内置的依赖管理器和构建工具,它能轻松增加、编译和管理依赖,并使依赖在 Rust 生态系统中保持一致。
- Rustfmt 格式化工具确保开发者遵循一致的代码风格
- rust-analyzer 为集成开发环境(IDE)提供了强大的代码补全和内联错误信息功能
在windows上安装rust
不是默认安装在C盘
如果不想默认安装到C盘,安装之前要先设置一些系统环境变量,改变默认安装的位置。
比如全部安装到D盘的rust文件夹下。
RUSTUP_HOME D:\rust\.rustup // 默认路径 ~/.rustup 或 %USERPROFILE%/.rustup
CARGO_HOME D:\rust\.cargo // 默认路径 ~/.cargo 或 %USERPROFILE%/.cargo
使用镜像加速安装 配置环境变量
RUSTUP_DIST_SERVER https://rsproxy.cn
RUSTUP_UPDATE_ROOT https://rsproxy.cn/rustup
gcc的安装
要在win上安装rust我们首先要安装gcc,这里我的电脑已经安装完了,我们后面再补充这里。
下载安装rust
下载地址:https://www.rust-lang.org/zh-CN/tools/install
下载以后我们就可以直接双击运行安装程序了。
这里就是告诉我们rust连接器需要windows api库,然后我们呢可以通过下面三种方式获取,第一种就是安装Visual Studio Community第二种就是手动修改,我们是使用自己安装的mingw64说以我们这里选择2即可。第三个选项是先不考虑这个事情。
但是在我的安装测试的时候使用3也是可以的。跟推荐使用3
这里是继续细提醒我们需要安装c++构建工具,因为我们已经安装好了我们直接继续就好输入y
这里是告我我们相关工具的安装位置,第一个选项是使用默认的标准安装第二个选项是自定以安装第三个是Cancel的设置这里我们继续选择2
我们输入x86_64-pc-windows-gnu,表示安装64位的gnu版本
工具链的选择,默认即可直接回车
要安装哪些工具和数据,直接默认就好
修改环境变量
这里就是将我们的选择都列出来,问你是否继续,直接回车
然后就开始配置安装了,这个过程需要在网络上下载很多东西耐心等待。
看到下图就是告诉我们rust安装完成了,我们需要重启shell来加载新的path然后我们就可以使用rust了
并且这里明确的告诉了我们Cargo's bin directory(D:\codebaserustl.cargo\bin).
验证一下是否真的成功,如果看到如下图的话那么就说明真的成功了。
更新与卸载
通过 rustup 安装了 Rust 之后,更新到最新版本就很简单了,只需要在您对应的命令行中运行如下更新脚本:
$ rustup update
若要卸载 Rust 和 rustup,请在命令行中运行如下卸载脚本:
$ rustup self uninstall
搞起第一个程序 Hello word
开始编码
main.rs
fn main() {
println!("Hello, world!");
}
编译
rustc main.rs
这样为我们的第一个程序就搞起来了。
程序的解析
// 这里的第一行是定义了一个main函数 这个面函数是非常特殊的,在rust程序中这个函数总是最先运行的
// 函数体使用 {} 花括号 包裹起来
fn main() {
// rust 的缩进风格为 4个空格 不是一个tab
// println! 调用了一个 Rust 宏(macro)。 如果是调用函数,则应输入 println(没有!)
// "Hello, world!" 是一个字符串。我们把这个字符串作为一个参数传递给 println!
// 该行以分号结尾(;),这代表一个表达式的结束和下一个表达式的开始。大部分 Rust 代码行以分号结尾
println!("Hello, world!");
}
Hello Cargo
Cargo 是 Rust 的构建系统和包管理器。大多数 Rustacean 们使用 Cargo 来管理他们的 Rust 项目,因为它可以为你处理很多任务,比如构建代码、下载依赖库并编译这些库。(我们把代码所需要的库叫做 依赖(dependencies))
在终端输入如下命令检查是否安装了 Cargo:
cargo --version
如果看到了版本号,就说明我们安装成功了。
使用Cargo创建项目
cargo new hellocargo
cd hellocargo
进入 hello_cargo 目录并列出文件。将会看到 Cargo 生成了两个文件和一个目录:一个 Cargo.toml 文件,一个 src 目录,以及位于 src 目录中的 main.rs 文件。
这也会在 hello_cargo 目录初始化了一个 git 仓库,以及一个 .gitignore 文件。如果在一个已经存在的 git 仓库中运行 cargo new,则这些 git 相关文件则不会生成;可以通过运行 cargo new --vcs=git 来覆盖这些行为。
Cargo.toml 是一个配置文件,一个简单的创建 Cargo.toml 文件的方法是运行 cargo init,它会自动为你创建该文件。
构建并运行Cargo项目
输入下面的命令来构建项目:
cargo build
这个命令会创建一个可执行文件 target/debug/hello_cargo (在 Windows 上是 target\debug\hello_cargo.exe),而不是放在目前目录下。由于默认的构建方法是调试构建(debug build),Cargo 会将可执行文件放在名为 debug 的目录中。可以通过这个命令运行可执行文件:
.\target\debug\hellocargo.exe
首次运行 cargo build 时,也会使 Cargo 在项目根目录创建一个新文件:Cargo.lock。这个文件记录项目依赖的实际版本。这个项目并没有依赖,所以其内容比较少。你自己永远也不需要碰这个文件,让 Cargo 处理它就行了.
我们刚刚使用 cargo build 构建了项目,并使用 ./target/debug/hello_cargo 运行了程序,也可以使用 cargo run 在一个命令中同时编译并运行生成的可执行文件:
cargo run
比起要记得运行 cargo build
之后再用可执行文件的完整路径来运行程序,使用 cargo run
可以实现完全相同的效果,而且要方便得多,所以大多数开发者会使用 cargo run
。
Cargo 还提供了一个叫 cargo check
的命令。该命令快速检查代码确保其可以编译,但并不产生可执行文件:
Cargo 的一些指令
- 创建项目
cargo new
- 构建项目
cargo build
- 构建并运行项目
cargo run
- 构建项目不产生可执行文件
cargo check
- Cargo 的源代码在src中,可执行文件放到 target/debug 目录
发布(release)构建
当项目最终准备好发布时,可以使用 cargo build --release
来优化编译项目。这会在 target/release
而不是 target/debug
下生成可执行文件。这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。这也就是为什么会有两种不同的配置:一种是为了开发,你需要经常快速重新构建;另一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好。如果你在测试代码的运行时间,请确保运行 cargo build --release
并使用 target/release
下的可执行文件进行测试.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。