生于忧患,咸鱼安乐
Toggle navigation
Home
About Me
Archives
Tags
Rust Digest -- Hello,World
Rust
2021-04-01 11:42:33
257
0
0
squarefong
Rust
[Rust 中文官网](https://www.rust-lang.org/zh-CN) [参考教程](https://kaisery.github.io/trpl-zh-cn/) # 安装 按照教程指导,应该执行命令来 `$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh` 来进行安装。。。不过我看Arch Linux已经打包了,那就用Arch仓库里的吧。 ``` sudo pacman -S rustup rustup toolchain install stable ``` 第一条命令会把rustup安装到`/usr/bin/rustup`,第二条命令会把rust工具链(比如编译器,调试器)的稳定版安装到`~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/` Windows用户需要下载[Rust安装工具](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe),如果直接执行安装工具会要求安装msvc,除非只想生成GNU ABI的程序。因此,安装Rust之前,需要去微软网站上下载[msvc安装器](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/)。 如果网络环境不好,这里有一份[rustup-init.exe](/api/file/getAttach?fileId=606541982fc01e1b6d000a56)的备份。~~msvc太大了,自行解决~~ rust离线安装包下载地址:https://forge.rust-lang.org/infra/other-installation-methods.html#standalone-installers # Hello World! > 当学习一门新语言的时候,使用该语言在屏幕上打印 Hello, world! 是一项传统,我们将沿用这一传统! 对于单文件的程序,可以直接新建一个文件main.rs,然后写入以下内容 ```rust fn main() { println!("Hello, world!"); } ``` 保存并退出后,执行`rustc main.rs`,就会生成一个名字为`main`的可执行文件。执行`./main`即可执行文件,此时会在终端看到输出。 ``` Hello, world! ``` > 注意: 1. 当看到符号 ! 的时候,就意味着调用的是宏而不是普通函数 2. Rust 的缩进风格使用 4 个空格,而不是 1 个制表符(tab)。 # Hello, Cargo! 那么对于多文件的大项目要如何管理/构建呢?Rust官方提供了构建系统和包管理器**Cargo**, ## 新建Rust工程 ```bash cargo new hello_cargo ``` 进入 hello_cargo 目录并列出文件。将会看到 Cargo 生成了两个文件和一个目录:一个 **Cargo.toml** 文件,一个 src 目录,以及位于 **src** 目录中的 main.rs 文件。它也在 hello_cargo 目录初始化了一个 **git 仓库(.git目录)**,以及一个 **.gitignore** 文件. ## 构建、运行 ### Build ```bash cargo build ``` 这个命令会创建一个可执行文件 target/debug/hello_cargo 首次运行 cargo build 时,也会使 Cargo 在项目根目录创建一个新文件:Cargo.lock。这个文件记录项目依赖的实际版本。 当项目最终准备好发布时,可以使用 `cargo build --release` 来优化编译项目。这会在 **target/release** 而不是 target/debug 下生成可执行文件。这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。 ### Run ```bash cargo run ``` 也可以使用 cargo run 在一个命令中同时编译并运行生成的可执行文件 ### Check ``` cargo check ``` Cargo 还提供了一个叫 cargo check 的命令。该命令快速检查代码确保其可以编译,但并不产生可执行文件:
Pre:
Rust Digest -- 变量、常量、数据类型
Next:
解决Geekbang弹窗
0
likes
257
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
Table of content