< 返回版块

Mike Tang 发表于 2024-10-04 07:46

用Rust语言开发一个Game Boy模拟器 - Part 3

这篇文章介绍了用Rust语言开发一个Game Boy模拟器时CPU指令的相关内容。主要包括:

  1. 回顾了CPU寄存器的数据结构,以及使用声明式宏来避免重复代码。

  2. 添加了一些寄存器的实用函数,如获取并增加PC寄存器值的函数。

  3. 介绍了标志位寄存器,使用枚举类型来表示不同的标志位。

  4. 定义了指令的数据结构,包括操作码、名称、周期数、大小、修改的标志位以及执行函数等属性。

  5. 解释了Rust中的生命周期概念,并使用静态生命周期来确保指令表在程序运行期间始终可访问。

  6. 声明了两个常量指令表,分别存储主要指令和CB子集指令。

https://medium.com/@wolferxy/rust-adventure-to-develop-a-game-boy-emulator-part-3-cpu-instructions-d6d1d727026f

Cargo 1.82 开发周期中所发生的事情

Cargo 1.82 开发周期中所发生的事情

  1. 介绍了本周期的插件 cargo-show-asm,它可让你查看 Rust 代码编译后的汇编代码、WASM、LLVM-IR 或 MIR。

  2. cargo info 功能已合并,但暂时移除了显示所有者的功能。

  3. 作为 Google 夏季代码项目的一部分,正在为 Cargo 贡献改进 shell 自动补全功能的工作。

  4. MSRV(最低支持 Rust 版本)感知功能进展中,Cargo 现在会报告选择了与工作区成员 MSRV 不兼容的依赖版本的情况。仍在探索理想的解决方案。

  5. 增加了 cargo publish --workspace 支持一次发布多个包的功能。

  6. 新增 cargo::error 构建脚本指令,可让构建脚本发出错误信息。

  7. 完善了 cargo update --precise 对预发布版本的版本要求匹配规则。

  8. 继续将测试迁移到快照测试框架 snapbox。

  9. 讨论了一些其他设计,如构建探针、检测未使用的依赖项等。

总的来说,这个开发周期着重于改进 Cargo 的功能、可用性和生产力。

https://blog.rust-lang.org/inside-rust/2024/10/01/this-development-cycle-in-cargo-1.82.html

yew-mdx - 在 Yew Web 框架中渲染 Markdown 内容

yew-mdx 用于在 Yew Web 框架中渲染 Markdown 内容,并支持嵌入组件。它依赖于 markdown 和 yew 0.20 crate。该 crate 当前处于 alpha 版本,最新版本为 0.1.0-alpha.1,发布于2023年3月30日。它使用 MIT 许可证,大小约为 6KB,有 109 行代码。每月大约有 73 次下载,下载量呈上升趋势。该 crate 在 Lib.rs 上被列为与 Yew Web 框架相关的crate之一,与 termimad、mdbook、glu、unclog、yew-hooks 等类似。Lib.rs 是一个非官方的 Rust/Cargo crate 列表网站,由 kornelski 创建,包含从多个来源收集的数据。

https://lib.rs/crates/yew-mdx

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页