FerrumC 是一个用 Rust 编写的 Minecraft 服务器实现,完全从头开始编写,包括数据包处理、NBT 编码/解码、自定义的 ECS 等功能。
服务器完全多线程,支持 16 个方向的区块加载,内存使用量仅为 10~14MB,远低于原版 Minecraft 服务器。
目前支持 1.20.1 版本,可以进入世界并自由漫游,但一些功能尚未完全实现,仍在积极开发中。最终目标是提供一个强大且可扩展的平台,提供一流的插件开发支持,方便开发者扩展功能
github地址 https://github.com/sweattypalms/ferrumc
类似的项目还有:
为了开发一个高性能且内存安全的 AV1 解码器,团队将现有的 C 语言解码库 dav1d 移植到 Rust,创建了 rav1d,其主要动机是,复杂的数据解析是现代软件中最具安全风险的操作之一,通过将不安全的 C 代码转换为内存安全的 Rust 代码,rav1d 在保持高性能的同时,避免了解码过程中常见的内存安全漏洞。
移植过程中,使用 c2rust 工具将 C 代码转译为不安全的 Rust 代码,然后手动重构为安全的 Rust 代码。这个过程虽然耗时,但确保了代码的兼容性和功能完整性。
这个过程中,主要的挑战包括线程安全、内存管理和指针处理,主要有如下经验:
原文链接 https://www.memorysafety.org/blog/porting-c-to-rust-for-av1/github地址 https://github.com/memorysafety/rav1d/
这是来自 posixutils-rs 的一个全新的 awk 实现,posixutils-rs 的目标是创建符合 POSIX 规范的 Rust 核心命令行工具
相似的项目还有 coreutils,但是其范围更窄,旨在兼容 GNU coreutils,而不是 posix 规范。
github地址 https://github.com/rustcoreutils/posixutils-rs/tree/main/awk
https://github.com/uutils/coreutils
-- From 日报小组 RustPlumber
社区学习交流平台订阅:
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。