当前位置: 首页 > news >正文

【Rust 入门】01. 创建项目

入门

创建项目

创建项目

cargo new world_hello

早起创建项目的方式:cargo new world_hello --bin ,需要加一个 --bin,但在现在版本中默认就是创建 bin 类型项目。

项目类型:

  • bin:可运行的项目
  • lib:依赖库的项目

运行项目

cd world_hello/ 进入所创建的项目下,运行项目。

第一种:

cargo run

第二种:手动编译 + 运行项目

# 编译
cargo build

接着项目下会多出一些东西

image-20250812131542373

运行程序

# 运行
xiaoling@xiaoling:world_hello$ ./target/debug/world_hello 
Hello, world!

在生成的文件中,可以看到 debug 文件夹,表示我们将以 debug 模式运行程序。

运行高性能的程序的方式:

  • cargo run --release
  • cargo build --release

image-20250812132134796

cargo check

当项目量大的时候,cargo runcargo build 的执行效率就会降低。

如果此时需要校验程序的正确性就需要用 cargo check,该命令执行速度较快,效率较高。

cargo check 作用:快速地检查一下代码能否编译通过。

核心文件

Cargo.toml
[package]
name = "world_hello" # 项目名
version = "0.1.0"    # 项目版本
edition = "2024"     # Rust 的大版本[dependencies]       # 一些依赖
# 基于 Rust 仓库
rand = "0.3"
hammer = { version = "0.5.0"}
# 基于代码仓库,如 Github
color = { git = "https://github.com/bjz/color-rs" }
# 基于本地项目
geometry = { path = "crates/geometry" }

依赖仓库:https://crates.io/

依赖的引入方式:

  • 基于 Rust 仓库(crates.io):包名 = 版本号
  • 基于代码仓库,如 Github:通过 URL 引入
  • 基于本地项目:绝对路径或相对路径
Cargo.lock
version = 4[[package]]
name = "world_hello"
version = "0.1.0"

镜像源

可参考:https://course.rs/first-try/slowly-downloading.html

https://www.fanjuanddz.com/article/39

http://www.xdnf.cn/news/1466947.html

相关文章:

  • Rust 的生命周期与借用检查:安全性深度保障的基石
  • 极快文本嵌入推理:Rust构建高性能嵌入推理解决方案
  • Qoder 全面解析:三大模式与开发者实战指南
  • 【硬件笔记】负载是如何烧MOS的?
  • DAY1:错题日记
  • 【Kafka】Kafka使用场景用例Kafka用例图
  • 2025年COR SCI2区,基于近似细胞分解的能源高效无人机路径规划问题用于地质灾害监测,深度解析+性能实测
  • 实战案例:数字孪生+可视化大屏,如何高效管理智慧能源园区?
  • Swift 解题:LeetCode 372 超级次方(Super Pow)
  • C/C++ 与 Lua 互相调用详解
  • SpringMVC(一)
  • 混合架构大型语言模型(Jamba)
  • 当低代码遇上AI,有趣,实在有趣
  • WebRTC进阶--WebRTC错误Failed to unprotect SRTP packet, err=9
  • 【Flutter】drag_select_grid_view: ^0.6.2 使用
  • AI架构师的思维方式与架构设计原则
  • 【LeetCode - 每日1题】最少操作使num1归零
  • Bean作用域和生命周期
  • Golang中的context包介绍及源码阅读
  • 谙流 ASK 技术解析(一):秒级扩容
  • Android,jetpack Compose模仿QQ侧边栏
  • 华为云昇腾云服务
  • 数据安全成焦点:基于Hadoop+Spark的信用卡诈骗分析系统实战教程
  • 为什么外网主机可以telnet通内网nginx端口,但是http请求失败?
  • Mysql:由逗号分隔的id组成的varchar联表替换成对应文字
  • Tenda AC20路由器缓冲区溢出漏洞分析
  • iOS 抓包工具有哪些?开发、测试与安全场景的实战选择
  • 软考 系统架构设计师系列知识点之杂项集萃(140)
  • 使用 chromedp 高效爬取 Bing 搜索结果
  • 安装Codex(需要用npm)