LWN 文章《在 Linux 内核中编写 Rust 系列 3:内核 Rust 代码中的接口绑定》
这篇文章是关于在 Linux 内核中编写 Rust 的第三部分,重点介绍了 Rust 和 C 之间的接口以及内核 Rust 代码中常用的绑定。
文章讨论了内存分配(如 Kmalloc
、Vmalloc
和 KVmalloc
)、自引用结构(如双向链表)和锁(如 Mutex
和 LockedBy
)的实现和使用。
Rust 通过 kernel::alloc
模块提供内核内存分配接口,支持堆分配和智能指针(如 Box
和 Vec
)。
自引用结构通过 Pin
类型来防止意外移动,而锁则通过 Rust 的生命周期系统来确保在访问数据时持有正确的锁。
这些绑定旨在减少运行时错误,提高内核代码的安全性和质量。
阅读:https://lwn.net/SubscriberLink/1026694/3413f4b43c862629/
Tessera - 声明式、即时模式的 UI 框架 - 发布 v1.0
Tessera 是一个用 Rust 编写的声明式、即时模式的 UI 框架,目标是提供极致的性能、灵活性和可扩展性。
它采用函数式方法,通过 #[tessera]
宏定义组件,支持约束式布局系统和可插拔的着色器引擎,能够实现从简单到复杂的响应式布局,并利用 WGPU 提供高效的渲染和计算能力。
Tessera 目前处于早期开发阶段,采用多 crate 工作区结构,包括 tessera-ui
(框架核心)、tessera-ui-basic-components
(基础组件)、tessera-ui-macros
(宏工具)和 example
(示例项目)。
仓库:https://github.com/tessera-ui/tessera
Reddit:https://www.reddit.com/r/rust/comments/1m6cg3d/tessera_ui_v100/
Bitchat-tui:BitChat 的 TUI 客户端
Bitchat-tui 是 BitChat 的现代终端用户界面 (TUI) 客户端。
BitChat 是一种安全、匿名、点对点的聊天协议,基于低功耗蓝牙 (BLE) 运行。
您可以通过终端完全离线通信,使用端到端加密、公共频道和直接消息传递。
仓库:https://github.com/vaibhav-mattoo/bitchat-tui
Reddit:https://www.reddit.com/r/rust/comments/1m5djva/media_bitchattui_secure_anonymous_offgrid_chat/
Phresh - 用 Rust 写的编辑照片的小型编程语言
我在周末制作了这个程序化照片编辑器(WIP)。
这很酷,它允许你从网络下载照片并让你随意编辑它们。
目前我只添加了一些命令,但接下来还会添加更多命令
仓库:https://github.com/kickhead13/phresh
Flux - 高性能消息传输库
Flux 是用 Rust 编写的高性能消息传输库,受 LMAX Disruptor 与 Aeron 启发,提供无锁环形缓冲区、UDP 可靠传输、NUMA/缓存优化、io_uring 零拷贝等特性,支持 Linux/macOS、百万级槽位、微秒级延迟,并附带丰富示例与基准测试,MIT 许可。
基准测试:
仓库:https://github.com/bugthesystem/Flux
Reddit:https://www.reddit.com/r/rust/comments/1m4ib9e/lib_flux_is_a_highperformance_zerocopy_message/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论