Rust入门学习

这篇具有很好参考价值的文章主要介绍了Rust入门学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

使用动态语言如 Ruby、Python 或 JavaScript
不习惯分多个步骤来编译和运行程序的方式

Rust 是一门预编译(ahead-of-time compiled)语言
意味着可以编译一个程序,将编译后的可执行文件给别人
即使他们没有安装 Rust 也可以运行程序

如果为其他人提供 .rb、.py 或 .js 文件
那么对方也需要分别安装对应 Ruby、Python 或 JavaScript 的语言支持环境

但是在这些语言中,只需要一条命令来编译和运行程序。一切都是语言设计权衡的结果

安装和编译

// 下载和安装Rust的官方编译器和包管理器Cargo
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
// metadata和工具链将会被安装到Rustup home 目录: /Users/hello/.rustup
// 注意:这里在 /Users/hello下运行该命令
// 可以通过RUSTUP_HOME环境变量来更改

// Cargo主目录位于:  /Users/hello/.cargo
// 可以通过CARGO_HOME环境变量来更改

// cargo, rustc, rustup 和其他命令将会被添加到Cargo's bin directory
// 位于: /Users/hello/.cargo/bin
The Cargo home directory is located at:

// PATH环境变量下将会添加
//  /Users/hello/.profile
//  /Users/hello/.bash_profile
//  /Users/hello/.zshenv

// 执行curl时,得到如下信心
Current installation options:
   default host triple: x86_64-apple-darwin
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

// 选择一之后,最后弹出
 stable-x86_64-apple-darwin installed - rustc 1.70.0 (90c541806 2023-05-31)

// 重启当前shell,重新加载PATH环境变量,这样可以包含Cargo的bin目录$HOME/.cargo/bin).
// To configure your current shell
// 执行 source "$HOME/.cargo/env"

// 当尝试编译 Rust 程序并收到提示链接器无法执行的错误时,意味着系统未安装链接器
// 需要手动安装一个链接器
// 这是 Rust 用来将其编译的输出关联到一个文件中的程序
// 一些常见的 Rust 包依赖于 C 代码,需要 C 编译器
// 如果遇到链接器错误,安装一个 C 编译器,C 编译器通常带有正确的链接器
// 在 macOS 上,可运行以下命令获得 C 编译器:
// $ xcode-select --install
文件名:main.rs
fn main() {
    println!("Hello, world!");
}

// 编译
// 编译成功后,Rust 就会输出一个二进制可执行文件
$ rustc main.rs

// 运行
$ ./main
Hello, world!

包管理

Cargo 是 Rust 的构建系统和包管理器
使用 Cargo 来管理 Rust 项目,它可以处理很多任务,比如构建代码、下载依赖库,以及编译依赖库

// 判断cargo是否安装成功
cargo --version
cargo 1.70.0 (ec8a8a0ca 2023-04-25)

// cargo创建新项目
cargo new hello_cargo
     Created binary (application) `hello_cargo` package
cd hello_cargo
tree
.
├── Cargo.toml
└── src
    └── main.rs

// 同时创建了vcs :版本控制系统
hello_cargo % ls -a
.		.git		Cargo.toml
..		.gitignore	src

// 构建
// 创建一个可执行文件 target/debug/hello_cargo
cargo build
   Compiling hello_cargo v0.1.0 (/Users/hello/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.51s
// 执行可执行文件
./target/debug/hello_cargo
    Hello, world!

// 构建并运行
// 在一个命令中同时编译代码并运行生成的可执行文件
cargo run

// 快速检查代码确保其可以编译,但并不产生可执行文件
// cargo check

发布构建

当项目最终准备好发布时,可以使用 cargo build --release 来优化编译项目
这会在 target/release 而不是 target/debug 下生成可执行文件
这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间

两种配置去区别:
一种是为了开发,需要经常快速重新构建
一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好

如果要对代码运行时间进行基准测试
请确保运行 cargo build --release 并使用 target/release 下的可执行文件进行测试

对于简单项目, Cargo 并不比 rustc 提供了更多的优势,不过随着开发的深入,终将证明其价值

要在任何已存在的项目上构建时,可以使用下面命令通过 Git 检出代码,进入到该项目目录并构建:文章来源地址https://www.toymoban.com/news/detail-533656.html

$ git clone example.org/someproject
$ cd someproject
$ cargo build

到了这里,关于Rust入门学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Rust编程语言入门之模式匹配

    模式是Rust中的一种特殊语法,用于匹配复杂和简单类型的结构 将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流 模式由以下元素(的一些组合)组成: 字面值 解构的数组、enum、struct 和 tuple 变量 通配符 占位符 想要使用模式,需要将其与某个值进行

    2023年04月22日
    浏览(16)
  • Rust编程语言入门之智能指针

    指针:一个变量在内存中包含的是一个地址(指向其它数据) Rust 中最常见的指针就是”引用“ 引用: 使用 借用它指向的值 没有其余开销 最常见的指针类型 智能指针是这样一些数据结构: 行为和指针相似 有额外的元数据和功能 通过记录所有者的数量,使一份数据被多个

    2023年04月16日
    浏览(13)
  • Rust编程语言入门之无畏并发

    Concurrent:程序的不同部分之间独立的执行(并发) Parallel:程序的不同部分同时运行(并行) Rust无畏并发:允许你编写没有细微Bug的代码,并在不引入新Bug的情况下易于重构 注意:本文中的”并发“泛指 concurrent 和 parallel 在大部分OS里,代码运行在进程(process)中,OS同时

    2023年04月19日
    浏览(13)
  • Rust编程语言入门之高级特性

    不安全 Rust 高级 Trait 高级 类型 高级函数和闭包 宏 隐藏着第二个语言,它没有强制内存安全保证:Unsafe Rust(不安全的 Rust) 和普通的 Rust 一样,但提供了额外的“超能力” Unsafe Rust 存在的原因: 静态分析是保守的。 使用 Unsafe Rust:我知道自己在做什么,并承担相应风险

    2023年04月24日
    浏览(10)
  • rust 开发入门

    要入门Rust编程,首先需要安装Rust编程环境并创建一个Hello World项目。以下是步骤: 1. 安装Rust 首先,你需要安装Rust编程环境。你可以使用 rustup ,它是Rust的官方工具,用于安装和管理Rust的不同版本。打开终端并运行以下命令: 根据提示,选择你需要的选项进行安装。 2. 验

    2024年02月05日
    浏览(34)
  • 【Rust】Rust学习 第十三章Rust 中的函数式语言功能:迭代器与闭包

    【Rust】Rust学习 第十三章Rust 中的函数式语言功能:迭代器与闭包

    Rust 的设计灵感来源于很多现存的语言和技术。其中一个显著的影响就是  函数式编程 ( functional programming )。函数式编程风格通常包含将函数作为参数值或其他函数的返回值、将函数赋值给变量以供之后执行等等。 更具体的,我们将要涉及: 闭包 ( Closures ),一个可以储

    2024年02月12日
    浏览(15)
  • Rust入门学习

    当项目最终准备好发布时,可以使用 cargo build --release 来优化编译项目 这会在 target/release 而不是 target/debug 下生成可执行文件 这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间 两种配置去区别: 一种是为了开发,需要经常快速重新构建 一种

    2024年02月13日
    浏览(2)
  • Rust软件外包开发语言的特点

    Rust软件外包开发语言的特点

    Rust 是一种系统级编程语言,强调性能、安全性和并发性的编程语言,适用于广泛的应用领域,特别是那些需要高度可靠性和高性能的场景。下面和大家分享 Rust 语言的一些主要特点以及适用的场合,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公

    2024年02月12日
    浏览(11)
  • Rust编程语言入门之cargo、crates.io

    通过 release profile 来自定义构建 在https://crates.io/上发布库 通过 workspaces 组织大工程 从 https://crates.io/来安装库 使用自定义命令扩展 cargo release profile: 是预定义的 可自定义:可使用不同的配置,对代码编译拥有更多的控制 每个 profile 的配置都独立于其它的 profile cargo 主要的

    2023年04月09日
    浏览(14)
  • Rust编程语言入门之函数式语言特性:-迭代器和闭包

    闭包(closures) 迭代器(iterators) 优化改善 12 章的实例项目 讨论闭包和迭代器的运行时性能 闭包:可以捕获其所在环境的匿名函数。 闭包: 是匿名函数 保存为变量、作为参数 可在一个地方创建闭包,然后在另一个上下文中调用闭包来完成运算 可从其定义的作用域捕获值

    2023年04月08日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包