美文网首页
【Rust学习一】安装、编写hello world、使用carg

【Rust学习一】安装、编写hello world、使用carg

作者: 淸_兲鮭鮭 | 来源:发表于2019-07-30 19:50 被阅读0次

    参考书目:https://rustlang-cn.org/office/rust/book/getting-started/ch01-00-getting-started.html

    开始学习rust,记录一下自己的学习内容,全程只记录Mac环境下的操作。
    本文主要记录:

    • 在macOS安装 Rust
    • 编写一个打印 Hello, world! 的程序
    • 使用 Rust 的包管理器和构建系统 cargo

    一、安装

    • 在macOS 上安装 rustup
      打开终端并输入如下命令:
    $ curl https://sh.rustup.rs -sSf | sh
    

    这个命令等的时间可能会比较久,耐心一点。
    接着出现下面的三个选项,选择1,默认安装就好了。

    You can uninstall at any time with rustup self uninstall and these changes will
    be reverted.
    
    Current installation options:
    
       default host triple: x86_64-apple-darwin
         default toolchain: stable
      modify PATH variable: yes
    
    1) Proceed with installation (default)
    2) Customize installation
    3) Cancel installation
    >1
    

    此命令下载一个脚本并开始安装 rustup 工具,这会安装最新稳定版 Rust。
    如果安装成功,将会出现如下内容:

    Rust is installed now. Great!
    To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH 
    environment variable. Next time you log in this will be done automatically.
    
    To configure your current shell run source $HOME/.cargo/env
    

    按照上述提示,还要将Rust 加入系统 PATH 环境变量中,在下一次登录时生效
    两种方式,任选其一即可:

    1. 不重启终端,在 shell 中直接运行如下命令,手动将 Rust 加入系统 PATH 变量中
      上述提示中是给的这种方式,比较便捷。
    $ source $HOME/.cargo/env
    

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

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

    《另外,你需要一个某种类型的链接器(linker)。很有可能已经安装,不过当你尝试编译 Rust 程序时,却有错误指出无法执行链接器,这意味着你的系统上没有安装链接器,你需要自行安装一个。C 编译器通常带有正确的链接器。请查看你使用平台的文档,了解如何安装 C 编译器。并且,一些常用的 Rust 包依赖 C 代码,也需要安装 C 编译器。因此现在安装一个是值得的。》---这里不太懂。

    • 更新和卸载
      通过 rustup 安装了 Rust 之后,很容易更新到最新版本。在 shell 中运行如下更新脚本:
    $ rustup update
    

    为了卸载 Rust 和 rustup,在 shell 中运行如下卸载脚本(这个命令现在可以不用执行,不然又要重新安装一遍了。。。):

    $ rustup self uninstall
    
    • 故障排除(Troubleshooting)
      要检查是否正确安装了 Rust,打开 shell 并运行如下行:
    $ rustc --version
    

    你应能看到已发布的最新稳定版的版本号、提交哈希和提交日期,显示为如下格式:

    rustc x.y.z (abcabcabc yyyy-mm-dd)
    

    如果出现这些内容,Rust 就安装成功了!
    没有成功的,注意检查一下配置环境变量那一步有没有正确执行。
    如果有问题,可以求助:最简单的是 irc.mozilla.org 上的 #rust IRC 频道 ,可以使用 Mibbit 来访问它。然后就能和其他 Rustacean(Rust 用户的称号,有自嘲意味)聊天并寻求帮助。其它给力的资源包括用户论坛Stack Overflow

    二、编写一个打印 Hello, world! 的程序

    安装好了 Rust,我们来编写第一个 Rust 程序。掌握用rust语言在屏幕上打印 Hello, world!

    注意:本书假设你熟悉基本的命令行操作。Rust 对于你的编辑器、工具,以及代码位于何处并没有特定的要求,如果你更倾向于使用集成开发环境(IDE),而不是命令行,请尽管使用你喜欢的 IDE。目前很多 IDE 已经不同程度的支持 Rust;查看 IDE 文档了解更多细节。最近,Rust 团队已经致力于提供强大的 IDE 支持,而且进展飞速!

    • 创建项目目录

    首先创建一个存放 Rust 代码的目录。建议在home目录下创建 projects 目录。
    打开终端并输入如下命令创建 projects 目录,并在 projects 目录中为 Hello, world! 项目创建一个目录。

    $ mkdir ~/projects
    $ cd ~/projects
    $ mkdir hello_world
    $ cd hello_world
    
    • 编写并运行 Rust 程序

    1. 新建源文件:main.rs

    $ touch main.rs
    

    Rust 源文件总是以 .rs 扩展名结尾。

    注意:如果文件名包含多个单词,使用下划线分隔它们。例如命名为 hello_world.rs,而不是 helloworld.rs

    2. 打开main.rs 文件,输入示例 1-1 中的代码。

    1)打开文件:

    $ vi main.rs
    

    2)输入示例1-1中的代码
    示例 1-1: 一个打印 Hello, world! 的程序

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

    3)保存文件,并回到终端窗口。

    3. 编译并运行文件
    在终端窗口的~/projects目录下输入下列命令,编译和运行文件

    $ rustc main.rs
    $ ./main
    

    运行成功,会输出:

    Hello, world!
    

    如果没有看到这些输出,回到 “故障排除” 部分查找寻求帮助的方法。
    如果 Hello, world! 出现了,恭喜你!你已经正式编写了一个 Rust 程序。现在你成为一名 Rust 程序员,欢迎!

    • 分析 Rust 程序
      几个要注意的点:
    1. Rust 的缩进风格使用 4 个空格,而不是 1 个制表符(tab)。

    2. println! 调用了一个 Rust 宏(macro)。如果是调用函数,则应输入 println(没有!)。当看到符号 ! 的时候,就意味着调用的是宏而不是普通函数。

    3. 编译和运行是彼此独立的步骤
      在运行 Rust 程序之前,必须先使用 Rust 编辑器编译它,即输入 rustc 命令并传入源文件名称,如$ rustc main.rs。编译成功后,Rust 会输出一个二进制的可执行文件。

    三、使用 Rust 的包管理器和构建系统 cargo

    Cargo 是 Rust 的构建系统和包管理器。大多数 Rustacean 们使用 Cargo 来管理他们的 Rust 项目,因为它可以为你处理很多任务,比如构建代码、下载依赖库并编译这些库。(我们把代码所需要的库叫做 依赖(dependencies))。

    最简单的 Rust 程序,比如我们刚刚编写的,没有任何依赖。所以如果使用 Cargo 来构建 Hello, world! 项目,将只会用到 Cargo 构建代码的那部分功能。在编写更复杂的Rust程序时,你将添加依赖项,如果使用Cargo启动项目,则添加依赖项将更容易。

    • 检查 Cargo
      第一部分 “安装” 的时候,自带了 Cargo。在终端输入如下命令检查是否安装了 Cargo:
    $ cargo --version
    

    如果你看到了版本号,说明已安装!如果看到类似 command not found 的错误,你应该查看相应安装文档以确定如何单独安装 Cargo。

    • 使用 Cargo 创建项目
      在终端输入下面的命令:
    1. 进入projects 目录(或者你存放代码的目录)。
    $ cd ~/properties
    
    1. 使用cargo创建项目hello_cargo
      新建了名为 hello_cargo 的目录,同时 Cargo 在一个hello_cargo 目录中创建了项目文件。
    $ cargo new hello_cargo
    
    1. 进入项目目录查看文件
    $ cd hello_cargo
    $ ll
    

    进入 hello_cargo 目录并列出文件,看到Cargo生成的项目目录结构如下:

    .
    ├── Cargo.toml
    └── .git/
    └── .gitignore
    └── src
        └── main.rs
    

    一个 Cargo.toml 文件,一个 src 目录,以及位于 src 目录中的 main.rs 文件。它也在 hello_cargo 目录初始化了一个 git 仓库,以及一个 .gitignore 文件。

    现在打开 src/main.rs ,可以看到Cargo 为你生成了一个 Hello World! 程序,正如我们之前编写的示例 1-1!目前为止,之前项目与 Cargo 生成项目的区别是 Cargo 将代码放在 src 目录,同时项目根目录包含一个 Cargo.toml 配置文件。

    • 分开执行命令,构建和运行项目

    1)构建
    在 hello_cargo 目录下,输入下面的命令来构建项目:

    $ cargo build
    

    编译完成后会创建一个可执行文件 target/debug/hello_cargo,注意文件位置。
    2)运行可执行文件:

    $ ./target/debug/hello_cargo
    
    • 一个命令中同时编译并运行项目
      可以使用cargo run在一个命令中同时编译并运行生成的可执行文件:
    $ cargo run
    
    • 快速检查代码
      Cargo 还提供了一个叫 cargo check 的命令。该命令快速检查代码确保其可以编译,但并不产生可执行文件:
    $ cargo check
    

    所以编写代码时定期运行 cargo check 确保它们可以编译。当准备好使用可执行文件时才运行 cargo build。

    • 发布(release)构建
      当项目最终准备好发布时,可以使用 cargo build --release来优化编译项目。
      这会在 target/release 而不是 target/debug 下生成可执行文件。
    $ cargo build --release
    

    相关文章

      网友评论

          本文标题:【Rust学习一】安装、编写hello world、使用carg

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