分享好友 编程语言首页 频道列表

Rust 开发环境安装

rust文章/教程  2023-02-09 10:310

1.设置跟路径
设置环境变量RUST_HOME;
RUSTUP_HOME=%RUST_HOME%\.rustup
CARGO_HOME=%RUST_HOME%\.cargo
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUST_BACKTRACE=1 //调试出错时打印详细调用栈

2.安装
2.1.安装版本
下载rustup-init.exe,在cmd中运行命令,选择1
安装完成后,运行rustup component add rls(否则Eclipse Corrosion中会提示Install missing rls component in Rustup)
在%CARGO_HOME%下创建config文件,内容如下,清华的镜像比较完整,中科大的非常不稳定。
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
# replace-with = 'sjtu'
replace-with = 'tuna'

# 清华大学
[source.tuna]
registry = "http://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
2.2.安装rls
用于提示、自动完成等功能
rustup component add rls rust-analysis rust-src

2.3.创建工程
Cargo new 工程名称

2.4.测试运行
在项目下运行cargo build会按照cargo.toml中的设置,开始编译
运行cargo run,就会运行,默认运行debug版,性能会比较弱,用cargo run --release会大幅度提升性能,注意后面的是“--release”,不能省掉“--”

2.5.Blocking错误
如果编译被异常终止,导致cargo进程被吊死,不能释放.cargo/.package-cache。这种情况下首先要停止所有的cargo进程,同时删除.cargo/.package-cache文件。
有时候,vscode也会锁住cargo build,还没找出规律。
3.VSCode开发环境
3.1.安装rust插件
在扩展中搜索rust,安装rust相关插件

Rust 开发环境安装
3.2.调试
Windows下安装C\C++ for Visual Studio Code,其他OS安装CodeLLDB(没有亲自试过)。注意,Windows下是安装这个,否则不能单步跟踪。

Rust 开发环境安装

手动修改.vscode/launch.json,type改为cppvsdbg,增加program,按F5就可以单步跟踪了。
 "configurations": [
  {
        "type": "cppvsdbg",
        "program": "${workspaceRoot}/target/debug/xxx.exe",
...
}

4.开发
4.1.注意事项
最后的返回值表达式,不能加分号

4.2.常用库
1.模板引擎:https://github.com/botika/yarte
2.日志:https://github.com/estk/log4rs
3.Web框架:https://github.com/http-rs/tide
4.Web 框架:https://chrismorgan.info/blog/introducing-teepee/ 从rust-http演变而来
5.Http3 Web框架:https://github.com/mozilla/neqo
6.Crypto库,基于BoringSSL:https://github.com/briansmith/ring
7.其他:https://zhuanlan.zhihu.com/p/62325234

查看更多关于【rust文章/教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Rust到底值不值得学--Rust对比、特色和理念
前言其实我一直弄不明白一点,那就是计算机技术的发展,是让这个世界变得简单了,还是变得更复杂了。当然这只是一个玩笑,可别把这个问题当真。然而对于IT从业者来说,这可不是一个玩笑。几乎每一次的技术发展,都让这个生态变得更为复杂。“英年早秃”已经成

0评论2023-03-08818

全栈程序员的新玩具Rust(三)板条箱
上次用到了stdout,这次我们来写一个更复杂一点的游戏rust的标准库叫做std,默认就会引入。这次我们要用到一个随机数函数,而随机数比较尴尬的一点是这玩意不在标准库中,我们要额外依赖一个库。很多编程方案都有自己的模块化库系统,rust也不例外,不过rust

0评论2023-02-10729

【Rust】标准库-Result rust数据库
环境Rust 1.56.1VSCode 1.61.2概念参考:https://doc.rust-lang.org/stable/rust-by-example/std/result.html示例main.rsmod checked {#[derive(Debug)]pub enum MathError {DivisionByZero,NonPositiveLogarithm,NegativeSquareRoot,}pub type MathResult =

0评论2023-02-09978

【Rust】标准库-引用 rust 数据库框架
环境Rust 1.56.1VSCode 1.61.2概念参考:https://doc.rust-lang.org/stable/rust-by-example/std/rc.html示例rust 使用 Rc 来实现引用计数。main.rsuse std::rc::Rc;fn main() {let rc_examples = "Rc examples".to_string();{println!("--- rc_a is created

0评论2023-02-09638

rust 打印当前时间
let now = time::now();let f_now = time::strftime("%Y-%m-%dT%H:%M:%S", now).unwrap();println!("now: {:?}", f_now);

0评论2023-02-09689

【Rust】线程 rust编程语言
环境Rust 1.56.1VSCode 1.61.2概念参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/threads.html示例main.rsuse std::thread;const N_THREADS: u32 = 10;fn main() {let mut children = vec![];for i in 0..N_THREADS {children.push(threa

0评论2023-02-09956

rust安装 rust安装在固态进不去游戏
http://blog.csdn.net/teamlet/article/details/50838996

0评论2023-02-09614

更多推荐