【Rust自学】1.3. Rust Cargo
1.3 Rust Cargo1.3.0. 回顾1.2. Rust的基本认识与打印“Hello World”文章的末尾提到了只有小型简单的Rust项目适合使用rustc来编译大型项目需要Cargo本篇就对Cargo进行详细的介绍。1.3.1. 什么是CargoCargo是Rust的构建系统和包管理工具它可以构建代码、下载依赖的库、构建这些库等。Cargo是随Rust一起安装的。判断Cargo是否正确地安装在终端中输入命令cargo --version$ cargo --version cargo 1.96.0 (30a34c682 2026-05-25)1.3.2. 使用Cargo创建项目RustRover中创建的项目都会自动配置Cargo在左侧项目结构中就能看到叫做Cargo.toml的文件。对于非RustRover用户可以在终端中配置Cargo- 复制想要Cargo项目所在的文件夹路径打开终端输入命令cd 想要的路径- 接着输入命令cargo new 想要的项目名来创建项目- 在IDE中打开这个路径即可项目在你取的Cargo项目名文件夹下最后的项目结构应该是这样PS: 有一些IDE不会有target这个文件夹和Cargo.lock这个文件在第一次编译后才会出现解析项目结构-src是Source Code的缩写这个文件夹下存储的是你的代码。.gitignore说明在创建这个项目的同时已经初始化了一个Git仓库。当然也可以使用其他VCSVersion Control System版本控制系统或是不使用VCS只需要在创建项目cargo new 想要的项目名这一步时加上--vcs进行设置即可。Cargo.toml的内容会在下文阐述。1.3.3. Cargo.toml.tomlToms Obvious, Minimal Language格式是Cargo的配置文件格式。其内容如下内容解析-[package]是一个区域标题表示下方的内容是用来配置包package的-name指项目名-version指项目版本-authors指项目作者可有可无这里没有有的话这一行格式应为authors [your_name your_emailxxx.com]-edition指使用的Rust edition[dependencies]是另一个区域标题下方内容是用来配置依赖项dependencies的它会列出项目的依赖项。没有依赖项时这一节就是空的。PS: 在Rust里代码的包库被称作crate。1.3.4. 项目结构的格式所有的源代码都应该在src目录下Cargo.toml应在顶层目录下顶层目录可以放置README、许可证、配置文件等与源码无关的文件1.3.5. 非Cargo项目转化为使用Cargo把源代码移动到src目录下创建Cargo.toml然后根据源代码填写配置1.3.6. 构建Cargo项目复制Cargo项目所在的文件夹路径打开终端输入命令cd Cargo项目路径输入命令cargo build。这个命令会创建可执行文件在Windows上其路径在target\debug\你的Cargo项目名.exe在Linux/macOS上其路径在target/debug/你的Cargo项目名执行这个可执行文件先确保你已执行第一步。对于Windows在终端中输入.\target\debug\你的Cargo项目名.exe对于Linux/macOS在终端中输入./target/debug/你的Cargo项目名第一次运行cargo build会在顶层目录生成Cargo.lock文件1.3.7. Cargo.lockCargo.lock会在项目第一次编译后生成有的IDE在第一次编译前就会自动生成其内容如下这个文件的作用是追踪项目依赖的精确版本如这个文件内的注释所说不需要也不建议手动修改该文件。1.3.8. 运行Cargo项目复制Cargo项目所在的文件夹路径打开终端输入命令cd Cargo项目路径输入命令cargo runcargo run实际上是两步操作——编译代码并执行结果先生成一个可执行文件然后再运行这个可执行文件。如果之前编译成功过并且源码没有改变那就会直接运行可执行文件。1.3.9. 代码的检查cargo check的作用是检查代码确保能成功编译但不会产生可执行文件。cargo check比cargo build的速度快很多编写代码时可以反复使用cargo check来提高效率。用法- 复制Cargo项目所在的文件夹路径打开终端输入命令cd Cargo项目路径- 输入命令cargo check1.3.10. 为发布构建cargo build这个命令是用于开发调试时的。当你编写完代码想要发布时就应该使用cargo build --release这个构建发布版的指令而不是cargo build。这两者对比起来前者编译时间更长但运行速度更快。前者生成的可执行文件会在target/release中而不是target/debug。

相关新闻

嵌入式系统EMIF接口深度解析:SDRAM与异步存储器的配置与调试实战

嵌入式系统EMIF接口深度解析:SDRAM与异步存储器的配置与调试实战

1. 项目概述:为什么需要深入理解EMIF?在嵌入式系统开发中,尤其是涉及图像处理、数据采集或运行复杂算法的场景,片上存储(SRAM、Flash)常常捉襟见肘。这时,扩展外部存储器就成了刚需。但直接让CP…

2026/7/23 18:45:02阅读更多 →
在寻找GEO服务商时,哪些产品特色值得重点关注?

在寻找GEO服务商时,哪些产品特色值得重点关注?

当用户需要寻找一家生成式引擎优化服务提供商时,产品本身的技术特色与功能设计是评估其专业性的核心维度。这类服务通常围绕内容生成、语义优化与搜索引擎适配展开,旨在提升信息在AI搜索环境中的可见度与可信度。火星GEO作为该领域的一个实践案例&#x…

2026/7/23 18:45:02阅读更多 →
大屏展示效果好的AI数据大屏生成工具排行榜与选型指南

大屏展示效果好的AI数据大屏生成工具排行榜与选型指南

最近公司要搞一个数据指挥中心的大屏项目,领导的要求就两条:一是要“震撼”,二是要“快”。我花了两周时间把市面上主流的AI数据大屏工具几乎试了个遍,从零代码拖拽到数字孪生,从免费版到私有化部署,踩了不…

2026/7/23 18:45:02阅读更多 →
【CTF-WEN-PHP】phps查看源代码并用双重URL编码绕过,admin编码为%25%36%31%25%36%34%25%36%44%25%36%39%25%36%45

【CTF-WEN-PHP】phps查看源代码并用双重URL编码绕过,admin编码为%25%36%31%25%36%34%25%36%44%25%36%39%25%36%45

题目 攻防世界-WEB-PHP2 https://adworld.xctf.org.cn/challenges/list 解题 访问网址 http://61.147.171.105:64825/index.phps admin.split().map(c > % c.charCodeAt(0).toString(16).toUpperCase()).join()%61%64%6D%69%6E%61%64%6D%69%6E.split().map(c > % …

2026/7/23 19:59:27阅读更多 →
告别低效记录!免费又好用的语音转文字软件深度评测,准确率高达98.7%

告别低效记录!免费又好用的语音转文字软件深度评测,准确率高达98.7%

你是否也曾在冗长的会议后,面对堆积如山的录音文件感到头疼?是否在学生时代,为了一字不差地记下老师的板书和口述而手忙脚乱?又或者,作为一名内容创作者,需要将大量的视频、音频采访素材快速转化为文字&…

2026/7/23 19:59:27阅读更多 →
【CTF-MISC-压缩包】脚本实现批量提取压缩包数据

【CTF-MISC-压缩包】脚本实现批量提取压缩包数据

题目 2024年春秋杯网络安全联赛冬季赛 - MISC - 压力大,写个脚本吧 https://www.ichunqiu.com/battalion?t1&r78931 解题思路 打开文件 发现一个压缩包一个txt文件 txt里有一串密文 RkdGR0ZHRkdGR0ZHRkdGR0ZHRkdGR0ZHRkdGR0ZHRkdGR0ZHRkdGR0ZHRkdGR0ZH…

2026/7/23 19:59:27阅读更多 →
AI电商头花主图生成:Stable Diffusion商业实践

AI电商头花主图生成:Stable Diffusion商业实践

1. 项目背景与核心价值这个头花产品商业化做图项目源于一个很实际的需求:如何在电商平台上用最低成本批量生成高质量产品展示图。作为从业十年的电商视觉设计师,我深知中小商家在商品主图制作上的痛点——请专业摄影师拍摄成本高,自己拍又难以…

2026/7/23 19:59:27阅读更多 →
[具身智能-629]:从单人闭环到五人协同:云端GPU与边缘专用芯片AI开发的本质鸿沟

[具身智能-629]:从单人闭环到五人协同:云端GPU与边缘专用芯片AI开发的本质鸿沟

很多AI开发者都有一个直观困惑:为什么在电脑、云端随便就能跑通的模型,移植到边缘嵌入式芯片后,bug层出不穷、精度断崖下跌、帧率死活不达标?核心答案并非算力差距,而是两套完全不同的AI工程体系、两种截然不同的研发模…

2026/7/23 19:59:27阅读更多 →
RAG(03)——高质量文本分块

RAG(03)——高质量文本分块

为什么你的RAG效果不佳? 核心痛点 LLM强大,Prompt精心调校,但答案仍不准确检索算法和Embedding已优化,却忽略分块(Chunking) 关键结论 “不恰当的分块给模型喂’坏数据”分块质量决定RAG性能的下限 分块的本质 分块的必要性 LM上下文长度限制-向量检索对语义完整性的…

2026/7/23 19:57:21阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →