Rust
rust 交叉编译
交叉编译 ## Windows 下编译到 arm64-linux 需要下载 arm 的编译 toolchain,有不同的选择:使用aarch64-none-linux-gnu 或者 aarch64-none-linux-musl。 这里使用 aarch64-none-linux-gnu - 安装好r ......
文盘Rust -- 生命周期问题引发的 static hashmap 锁
2021年上半年,撸了个rust cli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:[https://github.com/jiashiwen/interactcli-rs。](https://github.com/jiashiwen/interactcli- ......
02 - 使用 Rust 开发第一个游戏
## 一、说明 这个游戏是一个简单的猜数字游戏,记得很早的时候在学小甲鱼老师的 Python 课程时,甲鱼老师也是从一个猜数字游戏讲起。这个猜数字游戏能够让我们快速熟悉 Rust!可能会接触到诸如 let、match、类型方法、关联函数以及外部依赖库的知识。 我们将完成一个经典的初学者编程挑战:猜数 ......
01 - 安装 Rust 和使用 Cargo
## 一、Rust 介绍 Rust 是一门系统编程语言,**专注于安全,尤其是并发安全**,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust 在语法上和 C++ 类似,但是设计者想要在 保证性能的同时提供更好的内存安全。Rust 最初是由 Mozilla 研究院的 Graydon Hoar ......
第一次简单RUST逆向
ezRUST 静态没思路,动调不成 version `GLIBC_2.34‘ not found简单有效解决方法_huazhang_001的博客-CSDN博客 按照教程修复好后,把调试选项勾上,用Linux远程调试ELF 调好后源码级调试找到输出"try one more time"的地方,然后回去 ......
C/C++/Rust等底层软件开发应该学习哪些计算机知识
* 语言入门,循序渐进: * C语言: * CCF中学生计算机程序设计 入门/基础/提高 三册 * 阮一峰-网道: [C语言教程](https://wangdoc.com/clang/) * C程序设计语言:[ [美] Brian W. Kernighan / [美] Dennis M. Ritch ......
Rust一些点再看看。。
Rc::borrow()、 Rc::as_ref()、 Rc::deref(), Rc::borrow_mut()、 Rc::as_mut()、 Rc::deref_mut() Box::borrow()、 Box::as_ref()、 Box::deref() Box::borrow_mut()、 ......
Rust--流程控制
循环/判断 ref: [流程控制 - Rust语言圣经(Rust Course)](https://course.rs/basic/flow-control.html) ## 判断 ```rust if condition == true { // A... } else { // B... } ` ......
Proj CDeepFuzz Paper Reading: SyRust: automatic testing of Rust libraries with semantic-aware program synthesis
## Abstract 背景: 1. unsafe能够绕开rust type system 2. rust libraries中常有许多unsafe keyword 本文:SyRust Task: fuzz Rust library APIs Challenge: synthesize well-t ......
Rust 任务二传手
use postgres::{Client, NoTls}; use std::process::Command; use std::fs::File; use std::io::{BufRead, BufReader, Write}; fn is_program_running(program: ......
rust 从Result< T,T>获取值T
问: 我有一个函数: fn foo<i32>(x: i32) -> Result<i32, i32> { ... } 我想把结果的值提取到一个变量中,不管它是Ok还是Err。我可以这样做: let val = match foo(10) { Ok(i) => i, Err(i) => i, } 想知 ......
Rust 执行postgresql
postgres = "0.19.2" use postgres::{Client, NoTls}; fn main() -> Result<(), postgres::Error> { let mut client = Client::connect("host=localhost dbname= ......
rust command::new()
use std::process::Command; fn main(){ let cmd_str: String; cmd_str = "tasklist /FI 'IMAGENAME eq notepad.exe'".to_string(); let output = Command::new( ......
rust了解
据说和C++一样快,但更安全
官网:https://www.rust-lang.org
官方文档: https://doc.rust-lang.org/book
中文社区对官方文档的翻译: https://kaisery.github.io/trpl-zh-cn ......
RUST 和 GO 如何管理它们的内存
# RUST 和 GO 如何管理它们的内存 ## Go 中的内存管理 Go 中的内存不会在缓存键被驱逐时立即释放。 相反,垃圾收集器会经常运行以发现任何没有引用的内存并释放它。 换句话说,内存会一直挂起,直到垃圾收集器可以评估它是否真正不再使用,而不是在不再需要时立即释放。 Go 必须付出的努力来找 ......
rust vs GO:性能
8 月 7 日,Rust 基金会发布了 2022 年度 Rust 调查报告结果,报告显示 Rust 采用率不断提高,超过 90% 的调查受访者表示自己是 Rust 用户;29.7% 的受访者表示,他们在工作中的大部分编码工作都使用 Rust,比上一年显着增加了 51.8%。 毋庸置疑,Rust 以其 ......
Rust语言学习再理解
利用ChatGPT辅助学习,对初学者懂其晦涩语法很方便 use std::iter::IntoIterator; struct MyStruct { data: Vec<u32> } impl MyStruct { // This has the same name as `std::iter::F ......
使用WebAssembly实现高性能计算:C++和Rust的案例分析
WebAssembly是一种新型的低级字节码格式,它可以在浏览器中运行高效的编译代码。使用WebAssembly可以实现高性能计算、游戏引擎等功能,对于需要大量计算的Web应用程序来说尤为重要。 ......
[记]Rust性能优先的编译优化设置
参考:Profiles - The Cargo Book (rust-lang.org) [profile.release] strip = true opt-level = "s" lto = "fat" codegen-units = 1 panic = "abort" ......
指定或降低Rust 工具链的版本
要更改 Rust 工具链的版本,您可以使用以下命令之一: rustup default stable:使用 stable 版本的 Rust 工具链作为默认版本。rustup default beta:使用 beta 版本的 Rust 工具链作为默认版本。rustup default nightly: ......
rust 中#[inline]
在Rust中,#[inline]是一个属性(attribute),用于告诉编译器对函数进行内联展开。 内联展开是一种编译器优化技术,它将函数的代码直接嵌入到调用处,而不是通过函数调用的方式执行。这样做可以减少函数调用的开销,提高程序的执行效率,但也会增加代码的体积。 在Rust中,#[inline] ......
【转】Rust anyhow & thiserror
Rust 中使用 std::result::Result 表示可能出错的操作,成功的时候是 Ok(T),而出错的时候则是 Err(E): pub enum Result<T, E> { Ok(T), Err(E), } 通常情况下,E 是实现 std::error::Error 的错误类型: pub ......
《Rust编程之道》学习笔记一
# 《Rust编程之道》学习笔记一 ## 序 ### Rust语言的主要特点 - 系统级语言 - 无GC - 基于LLVM - 内存安全 - 强类型+静态类型 - 混合编程范式 - 零成本抽象 - 线程安全 ### 程序员的快乐 何谓快乐?真正的快乐不仅仅是写代码时的“酸爽”,更应该是代码部署到生产 ......
文盘Rust -- Mutex解决并发写文件乱序问题
在实际开发过程中,我们可能会遇到并发写文件的场景,如果处理不当很可能出现文件内容乱序问题。下面我们通过一个示例程序描述这一过程并给出解决该问题的方法。 ......
试试用Rust为树莓派RP2040开发程序
试试用Rust为树莓派RP2040开发程序 | 实验环境 | | | | 树莓派Pico开发板 | | DAPLINK调试器 | 原工程链接:https://github.com/rp-rs/rp-hal-boards > ### 假设读者已经安装配置好了 cargo 环境 ### 1. 安装配置 ......
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: ......