学习Rust的第二天:Cargo

2024-04-12 09:28
文章标签 rust 学习 第二天 cargo

本文主要是介绍学习Rust的第二天:Cargo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

We dive into Cargo, the powerful and convenient build system and package manager for Rust.
基于Steve Klabnik的《The Rust Programming Language》一书,我们深入了解Cargo,这是Rust强大而方便的构建系统和包管理器。

6e70ec5165d195dde7cb65971a609ea0.jpeg

 

Cargo is a robust and efficient build system and package manager for Rust, designed to help manage project dependencies and ensure consistent builds across various environments.
Cargo是Rust的一个强大而高效的构建系统和包管理器,旨在帮助管理项目依赖关系,并确保在各种环境中构建一致。

To create a new program with cargo :
要使用cargo创建新程序,请执行以下操作:

$ cargo new main$ cd main$ ls

Directory Structure : 目录结构:

 

main
└── target└── debug└── release
└── src└── main.rs
├── Cargo.toml

In the created directory structure:
在创建的目录结构中:

  • main is the root directory of the program.
    main 是程序的根目录。
  • Cargo.toml contains metadata about the project and its dependencies.
    Cargo.toml 包含关于项目及其依赖项的元数据。
  • src is a directory containing the source code of the program.
    src 是包含程序源代码的目录。
  • main.rs is the main entry point to the program. This is where the main function is defined which is the entry point of the program.
    main.rs 是程序的主要入口点。这是定义main函数的地方,它是程序的入口点。
  • target is the directory that stores all the builds or outputs.
    target 是存储所有构建或输出的目录。

The important files : 重要文件:

The Cargo.toml file looks like this:
Cargo.toml 文件看起来像这样:

[package]
name = "main"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
edition = "2018"
[dependencies]

The [package] section defines the package name, version, authors, and edition. The [dependencies] section is where you list your project dependencies.
[package] 部分定义了软件包名称、版本、作者和版本。 [dependencies] 部分是您列出项目依赖项的地方。

The main.rs file looks like this:
main.rs 文件看起来像这样:

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

This is a simple Rust program that prints “Hello, world!” to the console.
这是一个简单的Rust程序,打印“Hello,world!”到控制台

To build and run your program, navigate to the project directory (in this case, main) and run cargo run.
要构建并运行程序,请导航到项目目录(在本例中为 main )并运行 cargo run 。

$ cd main
$ cargo run

This command builds your project and runs the resulting binary.
此命令生成项目并运行生成的二进制文件。

And that’s the basic structure and workflow of a Cargo program in Rust!
这就是Rust中Cargo程序的基本结构和工作流!

Some other useful cargo commands :
其他一些有用的cargo命令:

  • cargo build : used to build for testing (Output directory : target/debug)
    cargo build :用于构建测试(输出目录: target/debug )
  • cargo build --release : used to build for release (Output directory : target/debug)
    cargo build --release :用于构建发布(输出目录: target/debug )
  • cargo check : to check if the program would compile without actually compiling it.
    cargo check :检查程序是否可以编译,而无需实际编译。

 

这篇关于学习Rust的第二天:Cargo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/896741

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2