rust 使用记录

安装

参考 rust install

window 安装

参考Windows安装Rust环境(详细教程)

c++ 环境配置

比如在github 下载 mingw-builds-binaries
在这里插入图片描述
直接下载

下载后解压,设置环境变量配置
然后添加 cc 因为cc-rs 需要

在 cmd 控制台输入 gcc -v 能看到版本就行

添加gmp 库

具体信息参考mingw-w64-x86_64-gmp 包
下载mingw-w64-x86_64-gmp

在这里插入图片描述
如果后面运行rust 仍然无法找到 -lgmp 库,应该是哪个地方配置错误,没有从当前gcc 目录查找,将 libgmp.dll 放到${RUSTUP_HOME}\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib 目录下

环境变量设置

根据自己的需要设置rust的位置

RUSTUP_HOME=D:\lang\rust\rustup_home
CARGO_HOME=D:\lang\rust\cargo_home
RUSTUP_DIST_SERVER=https://rsproxy.cn
RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup

类似下面
在这里插入图片描述

镜像源配置

记得开启扩展名
在这里插入图片描述

在“C:\Users\用户名\”下创建 .cargo 文件夹,在文件夹内创建 config 文件
在这里插入图片描述

[source.crates-io]
replace-with = 'rsproxy-sparse'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true

下载 rustup

下载 rustup-init
参考Windows安装Rust环境(详细教程) 操作流程就行
在这里插入图片描述

验证

控制台输入 rustc --version
在这里插入图片描述

linux 安装

sudo apt install -y curl
# 安装
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 加载环境变量
source $HOME/.cargo/env
# 查看版本
rustc --version
rustc -V

# 更新Rust
rustup update

# 卸载
# rustup self uninstall

包管理

The Rust community’s crate registry

rustc:用于 Rust 编程语言的 Rust 编译器
cargo 提供了一系列的工具,从项目的建立、构建到测试、运行直至部署,为 Rust 项目的管理提供尽可能完整的手段, 与 Rust 语言及其编译器 rustc 紧密结合

sudo apt install cargo
# 创建项目
# cargo new world_hello
# --bin 默认, 可运行的项目
# --lib 依赖库项目

# 有两种方式可以运行项目:
cargo run
# 2) 手动编译和运行项目
cargo build
./target/debug/world_hello

# 默认是debug,代码的编译速度会非常快, 运行速度就慢,编译器不会做任何的优化
cargo run --release

镜像源

A high speed crates.io mirror

### 如何在 Rust使用 SQLite 进行数据库操作 #### 创建和配置环境 为了能够在 Rust使用 SQLite 数据库,需要引入 `rusqlite` 库。这可以通过修改 Cargo.toml 文件完成,在 `[dependencies]` 部分加入 rusqlite[^1]。 ```tomorrow [dependencies] rusqlite = "0.28.0" ``` 接着可以初始化一个新的 Rust 项目并更新依赖项: ```bash cargo new sqlite_example cd sqlite_example cargo update ``` #### 建立数据库连接 通过 Rusqlite 可以方便地建立到 SQLite 数据库的连接。下面是一个用于创建或打开现有数据库文件的例子,并返回一个表示这个连接的对象[^3]。 ```rust use rusqlite::{params, Connection, Result}; fn create_connection() -> Result<Connection> { let conn = Connection::open("data.db")?; Ok(conn) } ``` 这段代码尝试打开名为 `data.db` 的数据库;如果该文件不存在,则会自动创建它。 #### 执行 SQL 查询语句 有了数据库连接之后就可以执行各种类型的查询命令了。这里展示了一个例子,展示了怎样定义表结构以及向其中插入数据记录的方法。 ```rust fn setup_database(conn: &Connection) -> Result<()> { conn.execute( "CREATE TABLE IF NOT EXISTS person ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, time_created DATETIME DEFAULT CURRENT_TIMESTAMP )", [], )?; conn.execute( "INSERT INTO person (name) VALUES (?1)", params!["Alice"], )?; println!("Created table and inserted a record."); Ok(()) } ``` 上述函数首先确保有一个叫做 `person` 的表格存在,然后往里面添加一条新纪录。 #### 获取查询结果集 当想要读取存储于数据库中的信息时,可以从相应的表里检索所需的数据。如下所示是如何获取所有人的名字并将它们打印出来的实例。 ```rust fn query_persons(conn: &Connection) -> Result<()> { let mut stmt = conn.prepare("SELECT id, name FROM person")?; let person_iter = stmt.query_map([], |row| { Ok(Person { id: row.get(0)?, name: row.get(1)?, }) })?; for person in person_iter { println!("Found person {:?}", person?); } Ok(()) } #[derive(Debug)] struct Person { id: i32, name: String, } ``` 此段程序准备了一条 SELECT 语句并通过迭代器遍历每一行的结果,最终输出每个人的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值