美文网首页
【rust学习】安装与运行

【rust学习】安装与运行

作者: gearicy | 来源:发表于2022-08-04 23:28 被阅读0次

    一、基本命令

    1.1安装

    进入rust官网运行以下命令:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    等待命令行跑完,可以用以下命令验证rust是否安装成功

        
    

    格式显示为:rustc x.y.z(abcabc yyyy-mm-dd),对应的就是版本号、commit hash、commit日期。

    rustc 1.62.1 (e092d0b6b 2022-07-16)
    

    1.2 更新与卸载

    Rust 的升级非常频繁。如果您安装 Rustup 后已有一段时间,那么很可能您的 Rust 版本已经过时了。运行 rustup update 获取最新版本的 Rust。
    相应的卸载命令为rustup self uninstall

    1.3 本地文档

    安装rust的时候会在本地安装文档,可以离线浏览,使用rustup doc可在浏览器打开本地文档。

    二、hello world

    rust开发一般使用vscode或者clion进行开发,这里以vscode开发为例,需要安装rust插件。
    使用以下命令建立一个helloworld目录。

    mkdir hello_world
    cd h*
    code .
    

    编写rust程序

    • 程序文件后缀名:rs
    • 文件命名规范: hello_world.rs
      编写一个hello_world.rs文件,文件内容如下:
    fn main() {
        println!("Hello, world!");
    }
    

    保存并且在终端运行文件:

    $ rustc hello_world.rs
    $ ./hello_world
    Hello, world!
    
    

    在rust中,编译和运行是彼此独立的步骤。

    • 在运行 Rust 程序之前,必须先使用 Rust 编译器编译它,即输入 rustc 命令并传入源文件名称
    • 在 Linux、macOS 或 Windows 的 PowerShell 上,在 shell 中输入 ls 命令可以看见这个可执行文件。在 Linux 和 macOS,你会看到两个文件。在 Windows PowerShell 中,你会看到同使用 CMD 相同的三个文件。

    三、hello cargo

    使用rustc这种方式只适合文件少的一些项目,在项目比较大的时候就需要使用cargo来管理我们的项目了。

    3.1 检验cargo是否正确安装

    由于绝大多数 Rust 项目使用 Cargo,如果官方安装包的话,则自带了 Cargo。如果通过其他方式安装的话,可以在终端输入如下命令检查是否安装了 Cargo:

    cargo --version
    

    如果能看到cargo 1.62.1 (a748cf5a3 2022-06-08)类似的版本号,说明安装成功了。

    3.2 使用cargo创建项目

    执行如下命令创建一个cargo项目:

    cargo new hello_cargo
    cd hello_cargo
    code .
    

    进入 hello_cargo 目录并列出文件。将会看到 Cargo 生成了两个文件和一个目录:一个 Cargo.toml 文件,一个 src 目录,以及位于 src 目录中的 main.rs 文件。
    这也会在 hello_cargo 目录初始化了一个 git 仓库,以及一个 .gitignore 文件。如果在一个已经存在的 git 仓库中运行 cargo new,则这些 git 相关文件则不会生成;可以通过运行 cargo new --vcs=git 来覆盖这些行为。

    3.3 文件结构

    Cargo.toml文件
    Cargo.toml 文件这个文件使用 TOML (Tom's Obvious, Minimal Language) 格式,这是 Cargo 配置文件的格式。
    ,内容如下:

    [package]
    name = "hello_cargo"
    version = "0.1.0"
    edition = "2021"
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    
    [dependencies]
    

    字段含义:

    • [package],是一个片段(section)标题,表明下面的语句用来配置一个包。随着我们在这个文件增加更多的信息,还将增加其他片段(section)。
      接下来的三行设置了 Cargo 编译程序所需的配置:项目的名称、项目的版本以及要使用的 Rust 版本。
    • [dependencies],是罗列项目依赖的片段的开始。在 Rust 中,代码包被称为 crates。这个项目并不需要其他的 crate,不过在第二章的第一个项目会用到依赖,那时会用得上这个片段。
      ** src/main.rs 文件**
      Cargo 期望源文件存放在 src 目录中。项目根目录只存放 README、license 信息、配置文件和其他跟代码无关的文件。使用 Cargo 帮助你保持项目干净整洁,一切井井有条。main.rs文件内容如下:
    fn main() {
        println!("Hello, world!");
    }
    

    3.4 构建并运行Cargo项目

    • 可以使用cargo build命令对Cargo项目进行构建,这个命令会创建一个可执行文件 target/debug/hello_cargo (在 Windows 上是 target\debug\hello_cargo.exe)
     ~/myrust/hello_cargo   master  cargo build
       Compiling hello_cargo v0.1.0 (/Users/shuai/myrust/hello_cargo)
        Finished dev [unoptimized + debuginfo] target(s) in 0.92s
    

    第一次运行cargo build会在顶层目录生成cargo.lock文件,负责追踪项目依赖的精确版本,类似于npm中的lock文件。

    • 使用cargo run可以构建并且运行Cargo项目
    ~/myrust/hello_cargo   master  cargo run
        Finished dev [unoptimized + debuginfo] target(s) in 0.00s
         Running `target/debug/hello_cargo`
    Hello, world!  
    
    • Cargo 还提供了一个叫 cargo check 的命令。该命令快速检查代码确保其可以编译,但并不产生可执行文件:
    ~/myrust/hello_cargo   master  cargo check 
       Checking hello_cargo v0.1.0 (/Users/shuai/myrust/hello_cargo)
       Finished dev [unoptimized + debuginfo] target(s) in 0.13s
    * 当项目最终准备好发布时,可以使用 cargo build --release 来优化编译项目。这会在 target/release 而不是 target/debug 下生成可执行文件。这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。
    

    相关文章

      网友评论

          本文标题:【rust学习】安装与运行

          本文链接:https://www.haomeiwen.com/subject/hdkmwrtx.html