embive - RISC-V字节码虚拟机
Embive是一个低级沙箱化库,专注于在受约束的环境中嵌入不受信任的代码。它通过解释RISC-V字节码来支持多种语言(Rust、C、C++、Zig、TinyGo等)。它默认不需要外部crate、动态内存分配或标准库(no_std和no_alloc)。Embive被设计为任何执行期间的错误都是可恢复的,允许主机根据需要处理它。
该库目前支持RV32I[M]非特权指令集(默认启用M扩展)。它提供了运行在Embive中的Rust、C/C++程序的模板示例。Embive的计划包括完全支持RV32G指令集、系统调用、资源限制器、CI/CD集成、字节码优化(AOT和JIT)、回调等功能。
Embive遵循Apache 2.0或MIT许可证。
https://github.com/embive/embive
q3vm - 轻量级可嵌入式字节码解释器/虚拟机
这是一个基于经典Quake III Arena虚拟机(Q3VM)的轻量级可嵌入式字节码解释器/虚拟机。它包含一个完整的C语言编译器(LCC)来生成.qvm字节码文件。该解释器只有一个C文件(vm.c),体积小巧,可嵌入到任何项目中。它支持在沙箱环境中运行不完全可信的代码,用于游戏引擎模组、IoT应用插件等。项目提供了独立的q3vm.exe演示程序,以及把解释器集成到自己项目的示例代码。通过实现4个回调函数,可以让字节码调用宿主程序的本地函数。该虚拟机经过20年Quake III引擎的实践检验,性能优于其他类似解释器。除了解释器,项目还包含了用于生成字节码的LCC编译器和q3asm链接器。
https://github.com/jnz/q3vm
Shuttle2024年圣诞编码挑战赛
这个由Shuttle发起的活动灵感来自于Advent of Code,邀请参与者使用Rust语言在一个轻松有趣的氛围中解决各种挑战。在每个挑战中,你需要实现HTTP端点来返回挑战的解决方案。这是一个不错的机会开始学习Rust和Shuttle!参与者将有机会提高Rust技能,结识志同道合的朋友,并享受CountDown圣诞的乐趣。第一个挑战将于2024年12月2日12:00 UTC发布,一共会在12月份发布7个挑战。注册和热身挑战将在11月底开放。如果你在2024年12月31日23:59 UTC之前完成所有7个挑战,就有资格获得奖品池,所以无需匆忙赶工。想参加了可以通过下面链接上官网报名。
https://shuttle.rs/cch
--
From 日报小组 Mike
社区学习交流平台订阅:
Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区