从汇编代码来理解 enum
Rust enum 是一个非常强大的特性, 很多人好奇他内部是如何实现的, 这里作者从生成的汇编代码来帮你深入理解 Rust 的 enum.
一些关键结论:
- Rust编译器将额外的8个字节添加到 enum 中的鉴别标识, 以用于标识当前存储在枚举中的变量
- 枚举的大小取决于最大的变体
- 标识符的大小取决于可存储在枚举中的值的范围. 然而,在大多数情况下,对齐要求决定了鉴别标识的大小
- 生成的程序集代码基于鉴别标识进行分支, 然后处理变量的字段
Rust 和 C++ 的相互集成
在这篇博文中, 作者探讨 Rust 和 c++ 集成的两个方向,并介绍作者在工作中使用的一些工具,并且详细描述了这些工具在何时使用才是最有效的.
bindgen
: 解析 c header文件并且生成 Rust 的 binding.cbindgen
: 解析 Rust 代码,并且生成c
和c++
的 header 文件cxx
crate: 半自动的 c++绑定.cpp
crate: 在 Rust 中写 c++的代码.
如何开始学习 Rust
这里整理了新手如何开始 Rust 之旅的一系列问题:
从个人对 Rust 的预期, 到学习主线, 新手使用 各种第三方库 以及项目理念等等均有涉及.
Bevy 0.9 发布
对于那些不知道的人来说,Bevy是一个基于Rust的数据驱动游戏引擎。
目前 0.9 版本刚刚发布, 加入了非常多的新特性
Cork: 一个十六进制辅助工具
Cork 是一个命令行工具, 可以帮助你处理十六进制数据, 还支持一定的表达式运算.
--
From 日报小组 BobQin,FBI小白
社区学习交流平台订阅:
1
共 0 条评论, 1 页
评论区
写评论还没有评论