RUST 0x00 START::DASH
1 Hello, World!
创建项目目录(Windows CMD)
> mkdir "%USERPROFILE%\projects"
> cd /d "%USERPROFILE%\projects"
> mkdir hello_world
> cd hello_world
编写与运行一个RUST程序
文件名: xxx_x.rs
运行程序(在相同目录下):
> rustc main.rs
> .\main.exe
解析一个RUST程序
fn main() {
}
fn
→函数(function)
println!("Hello,world!");
!
→调用一个宏,而不是一个普通函数
编译和运行不是一步完成的
.rs
→源码.exe
→可执行文件.pdb
→调试信息
2 Hello, Cargo!
用Cargo创建一个项目
cargo new
> cargo new hello_cargo
> cd hello_cargo
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2019/9/30 21:24 src
-a---- 2019/9/30 21:24 19 .gitignore
-a---- 2019/9/30 21:24 233 Cargo.toml
toml
→ Tom's Obvious, Minimal Language
文件名: Cargo.toml
[package]
name = "hello_cargo"
version = "0.1.0"
authors = ["Your Name "]
edition = "2018"
[dependencies]
文件名: src/main.rs
fn main() {
println!("Hello, world!");
}
Cargo会自动生成一个Hello, world!程序
搭建与运行一个Cargo项目
cargo build
> cargo build
Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs
在target/debug/hello_cargo.exe
创建一个可执行文件
在第一次使用的同时也会在最上级目录下生成一个 Cargo.lock
, 用来记录该项目的dependencies的版本。
cargo run
> cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `target/debug/hello_cargo`
Hello, world!
cargo check
> cargo check
Checking hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs
在不生成可执行文件的情况下快速检查代码。
搭建发布 Building for Release
cargo build --release
在优化条件下编译(能让代码运行地更快),在target/release
生成可执行文件。
Cargo as Convention
> git clone someurl.com/someproject
> cd someproject
> cargo build
小结
- 直接用
rustc
编写并运行Hello, world! - 用Cargo创建与运行一个新项目
参考
The Rust Programming Language by Steve Klabnik and Carol Nichols, with contributions from the Rust Community : https://doc.rust-lang.org/book/