【译】为嵌入式 C 程序员编写的 Rust 指南
在扒拉 Google OpenTitan 的源码时,发现该团队的一份Rust 指南,我觉得它对嵌入式C程序员的帮助还是比较大的,就顺手翻译了一下。
OpenTitan 项目如果你只看表面的GitHub 语言成分分析,你根本看不到Rust痕迹,它就是个Cpp 项目。只有翻到里面才会发现它对Rust的支持有多坚定。
Read More: https://mp.weixin.qq.com/s/97_PcKN54ktVBYzqvz6g_Q
对Youtuber HeartBeast的出色的GD脚本动作RPG教程的Rust化
作者跟随这个系列教程使用Rust再实现了一次,同时放出了代码库,感兴趣的同学可以看看。
大家好。
适用于任何有兴趣开始使用godot-rust这个crate为Godot编写GDNative Rust代码的人,我使用Rust跟着HeartBeast的Godot Action RPG系列教程(旨在教授引擎和GDScript)实现了每一步。
我努力在合理的时间间隔内检查代码,以使其易于遵循,并在每个步骤的完成上打上标签,因为它与视频系列相对应。我还在我必须弄清楚Rust特定问题的地方添加了评论,这些问题不属于原始系列的一部分,以帮助大家使事情更容易掌握。你会发现我很少偏离原来的内容,但确实有一些重构或简化,对于不必要的过于复杂的代码,洒在这里和那里。其中大部分也都有注释。当我找到更好的方法时,你也会发现重构的提交。
我写了一些宏来处理看起来很乱的代码,以隐藏unsafe的调用为代价降低了可读性,在我看来,这是与C++库绑定的本质,应该被理解为必要的。
最后,我学到了很多关于Godot和godot-rust crate的知识,并得出结论,我不确定使用Rust w/Godot对于简单或非高性能项目是否有必要,因为你没有得到Rust的好处;你被C++的限制所束缚,因为你必须把内存管理交给游戏引擎,并且仍然管理对何时假定对象的句柄是安全的理解。我打算等到Godot 4.0再做最终判断,因为它承诺为GDScript以外的语言提供更符合人体工程学的api接口(他们在报告中包括Rust)。
我的repo,这个练习的结果,可以在这里找到 godot-action-rpg-tutorial-rs。
我会尽我所能回答问题。祝您愉快!
Read More: https://www.reddit.com/r/rust_gamedev/comments/py6e8w/rustification_of_the_excellent_gd_script_action/
rustic_codegen_gcc:进展报告 #4
rustc_codegen_gcc是rustc的GCC编码,这意味着它可以被现有的rustc前端加载,但通过支持更多的架构和获得GCC的优化而受益于GCC。
Read More: https://blog.antoyo.xyz/rustc_codegen_gcc-progress-report-4
使用Rust和tokio构建可扩展服务
使用Tokio,很容易实现网络服务器应用。然而,你经常在指南书或此类书籍中发现的典型代码在多个CPU上的扩展性很差。我将解释为什么,以及如何通过改变几行来解决这个问题。
Read More: https://medium.com/@fujita.tomonori/scalable-server-design-in-rust-with-tokio-4c81a5f350a3
本周周报
你的函数签名不仅是你与编译器的契约,也是你与函数用户的契约。
— Quine Dot 在 rust-users 发言
你想知道什么比学习生命期更难吗?通过二十年时间去犯可预防的错误能学习同样的课程。
— Zac Burns在他的RustConf演讲中说
Read More: https://this-week-in-rust.org/blog/2021/09/29/this-week-in-rust-410/
社区学习交流平台订阅:
- Rust.cc 论坛: 支持 rss
- 微信公众号:Rust 语言中文社区