草庐IT

rust-0.8

全部标签

【Rust】——所有权:Stack(栈内存)vs Heap(堆内存)(重点)

🎃个人专栏:🐬算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客🐳Java基础:Java基础_IT闫的博客-CSDN博客🐋c语言:c语言_IT闫的博客-CSDN博客🐟MySQL:数据结构_IT闫的博客-CSDN博客🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客💎C++:C++_IT闫的博客-CSDN博客🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​🥏python:python_IT闫的博客-CSDN博客🐠离散数学:离散数学_IT闫的博客-

为什么从Rust读取的C结构会返回未对准的垃圾数据?

我正在尝试将C功能包裹在Rust中。C函数structelem*get_list()返回以下结构:structelem{chardata[5],structelem*next};在Rust中,我以下方式声明了功能。C函数的声明返回*constc_void如Rust文档的旧版本所述,在写作时我找不到。我尝试返回*constelem并与指针合作,取得相同的结果:extern"C"{pubfnget_list()->*constc_void;}结构代表一个链接列表,带有next是指向列表下一个元素的指针。内部的生锈,我以以下方式宣布结构:#[repr(C)]pubstructelem{pubdata

30天拿下Rust之枚举

概述        Rust中的枚举是一种用户定义的类型,它允许你为一组相关的值赋予友好的名称。在Rust中,枚举是强大的工具,它们不仅仅用于表示几个固定的值,还可以包含函数和方法,使得枚举成员可以有自己的行为。通过与模式匹配和其他Rust特性结合使用,枚举在构建健壮、无崩溃的应用程序中发挥了重要作用,并可大幅提高代码的可读性、可维护性和类型安全性。基础枚举        在Rust中,枚举通过关键字enum进行声明,它可以包含一组相关的命名常量。比如:我们可以定义一个枚举来表示一周的几天。enumDay{Monday,Tuesday,Wednesday,Thursday,Friday,Sat

Rust 高级特征

本文有删减,原文链接高级特征。目录不安全Rust不安全的超能力解引用裸指针调用不安全函数或方法创建不安全代码的安全抽象使用extern函数调用外部代码访问或修改可变静态变量实现不安全trait访问联合体中的字段何时使用不安全代码高级trait关联类型在trait定义中指定占位符类型默认泛型类型参数和运算符重载完全限定语法与消歧义:调用相同名称的方法父trait用于在另一个trait中使用某trait的功能newtype模式用以在外部类型上实现外部trait高级类型为了类型安全和抽象而使用newtype模式类型别名用来创建类型同义词从不返回的nevertype动态大小类型和Sizedtrait高

用 Rust 开发的 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

在Astral,我们为Python生态系统构建高性能的开发工具。我们最出名的是Ruff,一个极其快速的Pythonlinter和格式化工具。(译注:对Ruff的介绍性能最快的代码分析工具,Ruff正在席卷Python圈!)今天,我们发布了Astral工具链中的下一个工具:uv,一个用Rust开发的高性能的Python包解析器和安装器。图片图注:使用热缓存来解析(左)和安装(右)Trio依赖项,以模拟重新创建虚拟环境或向现有项目添加依赖项uv旨在作为pip、pip-tools和virtualenv的直接替代品,现在就可以用于生产环境中那些围绕这些工作流构建的项目。产品原则与Ruff一样,uv的实

因为 Rust,代码更智能而不是更难!

今天分享主题,Rust是一种强大的编程语言,为什么有的人觉得不难,反而写出代码更加智能呢?下面介绍了Rust的关键概念,并辅以代码示例来一起学习吧!Rust简介Rust以其内存安全和速度的保证而闻名。它独特地通过所有权、借用和生命周期来管理内存。内存安全原则Rust编译器检查确保内存安全,防止诸如缓冲区溢出之类的常见错误。所有权系统所有权是核心特性。当变量超出作用域时,Rust会自动清理其资源。fnmain(){lets=String::from("hello");//s拥有字符串}//s超出作用域,内存被释放借用和引用Rust使用引用来借用,确保数据不会被同时修改和读取。fnmain(){l

【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建

文章目录前言一、搭建Tauri2.0开发环境二、创建Tauri2.0项目1.创建项目2.安装依赖4.编译运行三、设置开发环境四、项目结构前言Tauri在Rust圈内成名已久,凭借Rust的可靠性,使用系统原生的Webview构建更小的App以及开发人员可以灵活的使用各种前端框架而一战成名。然而,这款年轻的框架却有着大量的问题待解决,在这种情况下,他竟然还出了2.0,想要支持安卓和苹果端,在我看来步子还是跨的挺大的,有一个相当棘手的问题就是文档资料严重跟不上,大量内容需要用户主动去探索,并且出了问题也只能是自己解决。不论如何,既然选择了Tauri,那就要解决这些麻烦。本节内容应该是本系列文章内容

Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

最近,我在Python潮流周刊中分享了一个超级火爆的项目,这还不到一个月,它在Github上已经拿下了8Kstar的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一篇官方博客翻译出来了,分享给大家。作者:@charliermarsh译者:豌豆花下猫@Python猫英文:uv:PythonpackaginginRust(https://astral.sh/blog/uv)声明:本翻译是出于交流学习的目的,为便于阅读,部分内容略有改动。转载请保留作者信息。摘要uv是一个极其快速的Python包安装器和解析器,用Rust编写,旨在作为pip和pip-tools工作流的替代品。它代

【Rust日报】2024-02-08 Loungy:使用 Rust 和 GPUI 开发的 MacOS 启动器

MiraScreenshare:基于Rust和WebRTC的高性能屏幕分享工具一群大学生宣布推出了他们的期末项目:MiraScreenshare,一个开源、高性能的屏幕共享工具,由Rust和WebRTC构建。此项目支持4k@60FPS和110ms端到端延迟的屏幕捕获和流式传输,以及系统音频捕获和流式传输、远程鼠标和键盘控制等功能。MiraScreenshare是跨平台的,支持macOS和Windows,并且提供了安全的点对点连接。虽然项目还处于早期阶段,但欢迎有兴趣的人试用并提供反馈。此项目完全免费,无需注册。相关代码已上传至GitHub:https://github.com/mira-scr

【Rust】——结构体struct

🎃个人专栏:🐬算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客🐳Java基础:Java基础_IT闫的博客-CSDN博客🐋c语言:c语言_IT闫的博客-CSDN博客🐟MySQL:数据结构_IT闫的博客-CSDN博客🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客💎C++:C++_IT闫的博客-CSDN博客🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​🥏python:python_IT闫的博客-CSDN博客🐠离散数学:离散数学_IT闫的博客-