Rust

rust 交叉编译

交叉编译 ## Windows 下编译到 arm64-linux 需要下载 arm 的编译 toolchain,有不同的选择:使用aarch64-none-linux-gnu 或者 aarch64-none-linux-musl。 这里使用 aarch64-none-linux-gnu - 安装好r ......
rust

文盘Rust -- 生命周期问题引发的 static hashmap 锁

2021年上半年,撸了个rust cli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:[https://github.com/jiashiwen/interactcli-rs。](https://github.com/jiashiwen/interactcli- ......
周期 hashmap 生命 static 问题

02 - 使用 Rust 开发第一个游戏

## 一、说明 这个游戏是一个简单的猜数字游戏,记得很早的时候在学小甲鱼老师的 Python 课程时,甲鱼老师也是从一个猜数字游戏讲起。这个猜数字游戏能够让我们快速熟悉 Rust!可能会接触到诸如 let、match、类型方法、关联函数以及外部依赖库的知识。 我们将完成一个经典的初学者编程挑战:猜数 ......
Rust 02

01 - 安装 Rust 和使用 Cargo

## 一、Rust 介绍 Rust 是一门系统编程语言,**专注于安全,尤其是并发安全**,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust 在语法上和 C++ 类似,但是设计者想要在 保证性能的同时提供更好的内存安全。Rust 最初是由 Mozilla 研究院的 Graydon Hoar ......
Cargo Rust 01

第一次简单RUST逆向

ezRUST 静态没思路,动调不成 version `GLIBC_2.34‘ not found简单有效解决方法_huazhang_001的博客-CSDN博客 按照教程修复好后,把调试选项勾上,用Linux远程调试ELF 调好后源码级调试找到输出"try one more time"的地方,然后回去 ......
第一次 RUST

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

Rust--流程控制

循环/判断 ref: [流程控制 - Rust语言圣经(Rust Course)](https://course.rs/basic/flow-control.html) ## 判断 ```rust if condition == true { // A... } else { // B... } ` ......
流程 Rust

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

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, } 想知 ......
Result rust lt gt

Rust 执行postgresql

postgres = "0.19.2" use postgres::{Client, NoTls}; fn main() -> Result<(), postgres::Error> { let mut client = Client::connect("host=localhost dbname= ......
postgresql Rust

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( ......
command rust new

rust了解

据说和C++一样快,但更安全 官网:https://www.rust-lang.org 官方文档: https://doc.rust-lang.org/book 中文社区对官方文档的翻译: https://kaisery.github.io/trpl-zh-cn ......
rust

RUST 和 GO 如何管理它们的内存

# RUST 和 GO 如何管理它们的内存 ## Go 中的内存管理 Go 中的内存不会在缓存键被驱逐时立即释放。 相反,垃圾收集器会经常运行以发现任何没有引用的内存并释放它。 换句话说,内存会一直挂起,直到垃圾收集器可以评估它是否真正不再使用,而不是在不再需要时立即释放。 Go 必须付出的努力来找 ......
内存 RUST GO

rust vs GO:性能

8 月 7 日,Rust 基金会发布了 2022 年度 Rust 调查报告结果,报告显示 Rust 采用率不断提高,超过 90% 的调查受访者表示自己是 Rust 用户;29.7% 的受访者表示,他们在工作中的大部分编码工作都使用 Rust,比上一年显着增加了 51.8%。 毋庸置疑,Rust 以其 ......
性能 rust vs

Rust语言学习再理解

利用ChatGPT辅助学习,对初学者懂其晦涩语法很方便 use std::iter::IntoIterator; struct MyStruct { data: Vec<u32> } impl MyStruct { // This has the same name as `std::iter::F ......
语言学习 语言 Rust

使用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 工具链的版本

要更改 Rust 工具链的版本,您可以使用以下命令之一: rustup default stable:使用 stable 版本的 Rust 工具链作为默认版本。rustup default beta:使用 beta 版本的 Rust 工具链作为默认版本。rustup default nightly: ......
版本 工具 Rust

rust 中#[inline]

在Rust中,#[inline]是一个属性(attribute),用于告诉编译器对函数进行内联展开。 内联展开是一种编译器优化技术,它将函数的代码直接嵌入到调用处,而不是通过函数调用的方式执行。这样做可以减少函数调用的开销,提高程序的执行效率,但也会增加代码的体积。 在Rust中,#[inline] ......
inline rust

【转】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 ......
thiserror anyhow Rust amp

《Rust编程之道》学习笔记一

# 《Rust编程之道》学习笔记一 ## 序 ### Rust语言的主要特点 - 系统级语言 - 无GC - 基于LLVM - 内存安全 - 强类型+静态类型 - 混合编程范式 - 零成本抽象 - 线程安全 ### 程序员的快乐 何谓快乐?真正的快乐不仅仅是写代码时的“酸爽”,更应该是代码部署到生产 ......
笔记 Rust

文盘Rust -- Mutex解决并发写文件乱序问题

在实际开发过程中,我们可能会遇到并发写文件的场景,如果处理不当很可能出现文件内容乱序问题。下面我们通过一个示例程序描述这一过程并给出解决该问题的方法。 ......
文件 问题 Mutex Rust

试试用Rust为树莓派RP2040开发程序

试试用Rust为树莓派RP2040开发程序 | 实验环境 | | | | 树莓派Pico开发板 | | DAPLINK调试器 | 原工程链接:https://github.com/rp-rs/rp-hal-boards > ### 假设读者已经安装配置好了 cargo 环境 ### 1. 安装配置 ......
树莓 程序 Rust 2040 RP

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 ......
vscode cargo Rust test log

Rust交叉编译为Android库

Rust目前在互联网上资料较少,经过几天的折腾,终于在 Windows10 和 Github Actions (Ubuntu) 上构建出了 armv7 和 armv8 的 .so文件。 - 关于JNI的配置见:【Rust实现JNI】https://juejin.cn/post/70927504686 ......
译为 Android Rust

Rust + Tauri 开发一个自动生成申论的桌面应用

前端开发桌面应用,第一反应肯定是 Electron 但 Electron 有一个众所周知的问题:每一个应用都会打包一个 chromium。如果电脑上安装了10个 Electron 应用,就会安装10个 chromium 而 Tauri 使用 WebView 作为 GUI 方案,不会打包在应用内,而是 ......
自动生成 桌面 Tauri Rust

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: ......
Android linking Window 问题 error

解决在macOS系统上使用rust-gdb调式rust代码时无法进入断点的问题

问题title缩写,主要原因是gdb 无法在cargo生成可执行文件和符号信息关联起来,类型信息如下图: 解决方案:在Cargo.toml文件中添加一项配置,所以能找到符号信息. 配置信息说明: 1. profile.dev或者profile.release是用cargo build进行编译时使用到 ......
调式 断点 rust rust-gdb 代码