checker borrow rust
vscode 运行Rust cargo test时显示log输出
使用以下tasks.json > 对于log库的输出(info,debug,warn...) 需要 在test方法上一行加 `#[test_log::test]` (来自 `test-log` https://crates.io/crates/test-log) ``` json { "versio ......
Rust交叉编译为Android库
Rust目前在互联网上资料较少,经过几天的折腾,终于在 Windows10 和 Github Actions (Ubuntu) 上构建出了 armv7 和 armv8 的 .so文件。 - 关于JNI的配置见:【Rust实现JNI】https://juejin.cn/post/70927504686 ......
Rust + Tauri 开发一个自动生成申论的桌面应用
前端开发桌面应用,第一反应肯定是 Electron 但 Electron 有一个众所周知的问题:每一个应用都会打包一个 chromium。如果电脑上安装了10个 Electron 应用,就会安装10个 chromium 而 Tauri 使用 WebView 作为 GUI 方案,不会打包在应用内,而是 ......
Rust 在Window上交叉编译Android库问题 error: linking with
报错: ``` error: linking with `D:/NDK/android-ndk-r25c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android30-clang.cmd` failed: exit code: ......
解决在macOS系统上使用rust-gdb调式rust代码时无法进入断点的问题
问题title缩写,主要原因是gdb 无法在cargo生成可执行文件和符号信息关联起来,类型信息如下图: 解决方案:在Cargo.toml文件中添加一项配置,所以能找到符号信息. 配置信息说明: 1. profile.dev或者profile.release是用cargo build进行编译时使用到 ......
Rust——生命周期
简而言之,即引用的有效作用域;一般情况下编译器会自动检查推导,但是当多个声明周期存在时,编译器无法推导出某个引用的生命周期,需要手动标明生命周期。 # 悬垂指针 悬垂指针是指一个指针指向了被释放的内存或者没有被初始化的内存。当尝试使用一个悬垂指针时,无法保证内存中的数据是否有效,从而导致程序的不确定 ......
Rust随笔——结构体打印和所有权转移
# 结构体打印 如果想打印结构体,并不能使用如以下方式进行打印 ```rust println!("{}",rectangle); ``` ![](https://picss.sunbangyan.cn/2023/07/29/114n2el.png) 会出现上图所示的错误,通过阅读不难得出——报错原 ......
Rust语言入门
1. 资料: [Rust 教程 | 菜鸟教程 (runoob.com)](https://www.runoob.com/rust/rust-tutorial.html) 2. cargo: 是rust的包管理器和构建系统 ```shell cargo build # 将当前目录下的项目进行编译 ca ......
P1219 八皇后 Checker Challenge(深度搜索dfs经典问题+回溯)
题目连接:P1219 [USACO1.5] 八皇后 Checker Challenge - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 典型的深度优先搜索的问题 》先付代码再来跟新 java组代码 package PTACZW; import java.util.Scanner; ......
用 Rust 生成 Ant-Design Table Columns
经常开发表格,是不是已经被手写Ant-Design Table的Columns整烦了?尤其是ToB项目,表格经常动不动就几十列。每次照着后端给的接口文档一个个配置,太头疼了,主要是有时还会粘错就尴尬了。那有没有办法能自动生成columns配置呢? ......
如何让 Rust 不使用 Visual Studio 的工具链编译
假如你不想使用 Visual Studio 进行开发,也不想电脑上多出几个G的累赘,也可以选择使用 GNU 进行编译,在此记录一下更换工具链的方法。 ## 安装后更改 安装完成后,确保你的`rustup`命令可以正常使用。 在控制台中执行`rustup default stable-x86_64-p ......
rust基础之分文件规划模块
***本文中所有名词称呼都是我自己的习惯叫法,不保证准确,一切以官方为准。*** 在实际项目中,当模块变多或者变大时,需要将模块放入单独的文件中,让代码更好维护。当一个模块有许多子模块时,也可以通过文件夹的方式来组织这些子模块。 如果需要将文件夹作为一个模块,需要显示指定暴露哪些子模块。 rustc ......
我常用的Rust crate备份
### `Cargo.toml` ```rust [package] name = "rust_hello" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-la ......
Rust 社区的代码准则
Rust 社区的代码准则,因为写的比较好被到处引用。原文在 https://www.rust-lang.org/policies/code-of-conduct 这里贴个 ChatGpt 的翻译 1. 我们致力于为所有人提供友好、安全和热情的环境,无论其经验水平、性别认同和表达、性取向、残疾、个人外 ......
[记]Rust全局变量+多线程
~~~rust static mut Gods: f32 = 0.0; fn main() { std::thread::spawn(|| loop { unsafe { Gods += 1.0; } esleep::s(1);//延时1s }); std::thread::spawn(|| loo ......
[记]Rust使用windows库开发串口功能
在Rust中,可以使用windows库来操作串口。以下是一个使用windows库实现串口功能的示例代码: 首先,在你的Cargo.toml文件中添加以下依赖项: ~~~toml [dependencies] windows = "0.36.0" ~~~ 然后,可以按照以下代码示例使用windows库 ......
微软:加大力度在 Windows 11 使用 Rust
Windows 11 上周发布了新的测试版 (Insider Preview Build 25905)。 发布公告提到此版本已经使用 Rust 重写 Windows 11 内核中的部分模块。 据介绍,该预览版使用 safe Rust 对关键内核功能进行了早期实现。具体来说,win32kbase_rs ......
Rust 学习笔记:快速上手篇
# Rust 学习笔记:快速上手篇 这篇学习笔记将用于记录本人在快速上手 Rust 编程语言时所记录的学习心得与代码实例。为此,我会在[本笔记库](https://github.com/owlman/study_note)项目的`Programming/LanguageStudy/`目录下创建一个名 ......
洛谷P1219 [USACO1.5] 八皇后 Checker Challenge
# 写在前面 我又回来了! 偷了几天懒,还认识我吗?甭管认识不认识,还是要自我介绍一番:本人是初学c++的初中生,还是个蒟蒻,~~最要命的是没有脑子~~。今天,还请允许我浪费您一点时间,~~叨叨~~上几句。 本题目来自于洛谷,网址https://www.luogu.com.cn/problem/P1 ......
张汉东的 Rust 实战课
你将获得系统梳理 Rust 核心知识点;吃透 Rust 异步编程理论基础;掌握异步框架开发工程实践要点。 课程介绍Rust 语言对它之前出现的很多优秀语言,做了一次现代化的完美总结。掌握 Rust 这一门语言,就相当于掌握了很多其他语言的精髓。Rust 也被设计为一门通用的编程语言,可以覆盖很多应用 ......
async-await Rust: 200 多行代码实现一个极简 runtime
> What I cannot create, I do not understand Rust 中的 runtime 到底是咋回事, 为了彻底搞懂它, 我在尽量不借助第三方 crate 的情况下实现了一个玩具 runtime, 之所以说是玩具,因为它没有复杂的调度算法(只有一个全局 task qu ......
rust 程序内存 profling 之旅
首先如果你使用的 macos,那么要做的第一件事情是找个 linux 的机器,要么服务器,要么虚拟机。不要用 macos 进行下面的操作,因为各种有问题。。。 比如我尝试使用 macos 读取 jemalloc 生成的数据结果 jeprof --show_bytes /Users/zzou/Desk ......
rust-bindgen报错 ‘Unable to find libclang的解决办法
Windows下面可能会遇到这个问题的解决方案: 1)把LLVM安装到没有空格的路径。 2)LIBCLANG_PATH的值不要加双引号。 thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shar ......
Rust 使用egui创建一个简单的下载器demo
仓库连接: https://github.com/GaN601/egui-demo-download-util 这是我第一个rust gui demo, 学习rust有挺长时间了, 但是一直没有落实到实践中, 本着对桌面应用的兴趣, 考察了slint、egui两种框架, 最后还是选择了egui. 这 ......
在 kubernets pod 里使用 perf 直接调试 rust 程序
我们想要了解我们程序在运行时候的真实情况,但是感觉 rust 性能方面的调试真的比 go 麻烦非常多。 首先在 rust cargo.toml 中添加 [profile.release] debug = true 直接在 pod 里面进行调试限制比较多,首先我们可能需要安装一些必要的东西比如 per ......
用RUST进行系统编程的自学资源
用RUST进行系统编程的自学资源 https://github.com/rcore-os/rCore/wiki/study-resource-of-system-programming-in-RUST 7~21天内高效学习 Rust 建议: 前提条件: 要求有基本数据结构,算法基础,相对了解或熟悉C ......
文盘Rust -- FFI 浅尝
rust FFI 是rust与其他语言互调的桥梁,通过FFI rust 可以有效继承 C 语言的历史资产。本期通过几个例子来聊聊rust与C 语言交互的具体步骤 ......
Rust 笔记
Rust 这门语言真的是挺难的,主要在于编译器贼事儿逼,什么都要管。这篇文章主要内容是给 C++ 的每一样东西一个 Rust 平替。 # I/O ### 输出 `print!(), println!()`。其中的感叹号代表宏。用法: ```rust let a = 3; println!("a = ......
[记]Rust闭包加动态分发
~~~rust pub trait App { fn run(&mut self); } #[derive(Clone, Copy)] pub struct Cda{ d:i32, } impl Cda { fn new(num:i32)->Self{ Self { d: num } } fn in ......