rust安装&入门

文章目录

    • 1. linux&macos安装rust
      • 安装
      • 环境变量
      • 测试
    • 2. hello world
      • 编译&运行
    • 3. 初步分析hello world代码
    • 4. cargo
      • cargo run
      • cargo check
      • 额外的优点
    • 5. 发布
    • 6. 参考链接

1. linux&macos安装rust

安装

curl https://sh.rustup.rs -sSf | sh
这将会安装rustc, rustup, rustfmt, cargo 等等程序

环境变量

手动将 Rust 加入系统 PATH 变量中:

source $HOME/.cargo/env 

或者可以在 ~/.bash_profile 文件中增加如下行:

export PATH="$HOME/.cargo/bin:$PATH"

测试

> rustc --version
rustc 1.39.0 (4560ea788 2019-11-04)

2. hello world

fn main() {
    println!("Hello, world!");
}

编译&运行

> rustc main.rs
> ./main
Hello, world!

3. 初步分析hello world代码

1,宏:println! 调用了一个 Rust 宏(macro)。如果是调用函数,则应输入 println(没有!)
2,函数用fn定义
3,以分号结尾
4,编译后的二进制包很大2.5M

-rwxrwxrwx. 1 vagrant vagrant 2.5M Dec 17 10:10 main
-rwxrwxrwx. 1 vagrant vagrant   45 Dec 17 10:15 main.rs

4. cargo

构建系统和包管理器

> cargo new cargo 
> cd cargo
> cargo build
   Compiling cargo v0.1.0 (/vagrant/rust/cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 1.45s
> ./target/debug/cargo
Hello, world!

cargo build会使 Cargo 在项目根目录创建一个新文件:Cargo.lock。这个文件记录项目依赖的实际版本。自己永远也不需要碰这个文件,让 Cargo 处理它就行。
构建结果放在target/debug目录并缓存,再次构建时如果源文件没有修改,且编译结果已经缓存,则不用重新构建。

> cat Cargo.lock
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "cargo"
version = "0.1.0"

cargo run

同时编译并运行生成的可执行文件,如果发现程序编译过,且有没有修改,则不用重新编译

> cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.11s
     Running `target/debug/cargo`
Hello, world!
> rm -rf  target
> cargo run
   Compiling cargo v0.1.0 (/vagrant/rust/cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 1.21s
     Running `target/debug/cargo`
Hello, world!

cargo check

执行编译前的检查,速度会比构建快一些,主要是省略了生成可执行文件的步骤

> cargo check
    Checking cargo v0.1.0 (/vagrant/rust/cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.67s

额外的优点

不管你使用什么操作系统,cargo的命令都是一样的。

5. 发布

cargo build --release,优化编译项目,让rust程序运行的更快,但是需要消耗更长的编译时间。
优化编译的构建结果放在./target/release目录下。

> cargo build --release
   Compiling cargo v0.1.0 (/vagrant/rust/cargo)
    Finished release [optimized] target(s) in 0.96s
> ./target/release/cargo
Hello, world!

6. 参考链接

https://kaisery.github.io/trpl-zh-cn/ch01-03-hello-cargo.html

你可能感兴趣的:(rust安装&入门)