rust学习笔记2-rust的包管理工具Cargo使用

news/2025/2/21 10:07:13/

首先先解决一个配置文件,目前rust版本升级后,config已经改成 config.toml 内容也做了如下调整

[source.crates-io]
replace-with = 'tuna'[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

1.Rust 编程语言的编译器 rustc(这个用的少,大概了解一下就行)
查看版本
rustc --version
编译生成二进制文件
rustc o output filename filename.rs
编译生成库文件
rustc --crate-type lib filename.rs

2.rust的包管理工具Cargo使用
隐式地使用 rustc 进行编译
命令
    创建
    cargo new project_name
        cargo new --lib project_name 创建一个新的 Rust 库项目的
    构建项目(生成二进制可执行文件或库文件)
    cargo build
        cargo build --release为生成优化的可执行文件,常用于生产环境
    检测
        cargo check
    运行/测试
        cargo run/cargo test

3.开发工具vscode,安装rust-analyzer插件

创建一个新项目

cargo new hello

然后用vscode打开

运行点击run或者输入如下命令

 cargo run

如果可以正常显示说明环境正常

Cargo.toml文件说明

[package]
name = "hello"
version = "0.1.0"
edition = "2021"[dependencies]

package
    设置项目名
    版本等
dependencies
    设置依赖
    [build-dependencies]列出了在构建项目时需要的依赖项
    [dev-dependencies]列出了只在开发时需要的依赖项

推荐安装cargo-edit插件来管理

cargo-edit 是一个 Rust 语言的 Cargo 子命令扩展,它允许用户通过命令行轻松地管理 Cargo.toml 文件中的依赖项。这个工具提供了几个子命令,包括 cargo add、cargo rm、cargo upgrade 和 cargo set-version,使得添加、删除和更新依赖项变得更加简单和高效。

安装命令

cargo install cargo-edit
添加库cargo add dependency name安装指定版本cargo add dependency name@1.2.3添加开发时用的依赖库cargo add --dev dev dependency name添加构建时用的依赖库cargo add --build build dependency_na-me
删除库cargo rm dependency_nam

测试一下 安装rand

cargo add rand


http://www.ppmy.cn/news/1573193.html

相关文章

服务器被暴力破解的一次小记录

1. 网络架构 家里三台主机,其他一台macmini 启用ollama运行大模型的服务,主机1用来部署一些常用的服务如:mysql, photoprism等,服务器作为网关部署docker, 并且和腾讯云做了内网穿透。服务器部署了1panel用来管理服务并且监控&…

基于 openEuler 构建 LVS-DR 群集

一、对比 LVS 负载均衡群集的 NAT 模式和 DR 模式 1. NAT 模式 工作原理: 客户端请求发送到负载均衡器(LVS)。 LVS 修改请求的目标 IP 地址为后端服务器的 IP 地址,并将请求转发。 后端服务器处理请求后,将响应返回给…

Vulhub靶机 ActiveMQ 反序列化漏洞(CVE-2015-5254)(渗透测试详解)

一、开启vulhub环境 docker-compose up -d 启动 docker ps 查看开放的端口 漏洞版本:Apache ActiveMQ 5.x ~ Apache ActiveMQ 5.13.0 二、访问靶机IP 8161端口 默认账户密码 admin/admin,登录 此时qucues事件为空 1、使用jmet-0.1.0-all.jar工具将…

PyQt6/PySide6 的 SQL 数据库操作(QtSql)

一、核心组件架构 1.1 QtSql模块构成 QSqlDatabase:数据库连接管理(支持连接池)QSqlQuery:SQL语句执行与结果遍历QSqlTableModel:可编辑的表格数据模型QSqlQueryModel:只读查询结果模型QSqlRelationalTab…

c#自动更新-源码

软件维护与升级 修复漏洞和缺陷:软件在使用过程中可能会发现各种漏洞和缺陷,自动更新可以及时推送修复程序,增强软件的稳定性和安全性,避免因漏洞被利用而导致数据泄露、系统崩溃等问题。提升性能:通过自动更新&#x…

【Linux】【进程】epoll内核实现总结+ET和LT模式内核实现方式

【Linux】【网络】epoll内核实现总结ET和LT模式内核实现方式 1.epoll的工作原理 eventpoll结构 当某一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,这个结构体中有两个成员与epoll的使用方式密切相关. struct eventpoll{..../*红…

结构型模式---代理模式

概念 代理模式是一种结构型模式,主要用于在客户端和接口之间添加一个中间层,用于在客户端和接口之间进行权限控制或者其他的中间层操作。 使用场景 1、延缓初始化,当我们偶尔需要使用一个重量级的服务对象,如果一直保持该对象的…

【Linux】:网络通信

朋友们、伙计们,我们又见面了,本期来给大家带来网络通信相关的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结…