前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2022-11-14 从汇编代码来理解 enum

【Rust日报】2022-11-14 从汇编代码来理解 enum

作者头像
MikeLoveRust
发布2022-11-28 16:30:16
5820
发布2022-11-28 16:30:16
举报

从汇编代码来理解 enum

Rust enum 是一个非常强大的特性, 很多人好奇他内部是如何实现的, 这里作者从生成的汇编代码来帮你深入理解 Rust 的 enum.

一些关键结论:

  1. Rust编译器将额外的8个字节添加到 enum 中的鉴别标识, 以用于标识当前存储在枚举中的变量
  2. 枚举的大小取决于最大的变体
  3. 标识符的大小取决于可存储在枚举中的值的范围. 然而,在大多数情况下,对齐要求决定了鉴别标识的大小
  4. 生成的程序集代码基于鉴别标识进行分支, 然后处理变量的字段

原文链接: https://www.eventhelix.com/rust/rust-to-assembly-enum-match/

Rust 和 C++ 的相互集成

在这篇博文中, 作者探讨 Rust 和 c++ 集成的两个方向,并介绍作者在工作中使用的一些工具,并且详细描述了这些工具在何时使用才是最有效的.

  • bindgen: 解析 c header文件并且生成 Rust 的 binding.
  • cbindgen: 解析 Rust 代码,并且生成 cc++的 header 文件
  • cxx crate: 半自动的 c++绑定.
  • cpp crate: 在 Rust 中写 c++的代码.

原文链接: https://slint-ui.com/blog/rust-and-cpp.html

如何开始学习 Rust

这里整理了新手如何开始 Rust 之旅的一系列问题:

从个人对 Rust 的预期, 到学习主线, 新手使用 各种第三方库 以及项目理念等等均有涉及.

原文链接: https://github.com/jondot/rust-how-do-i-start

Bevy 0.9 发布

对于那些不知道的人来说,Bevy是一个基于Rust的数据驱动游戏引擎。

目前 0.9 版本刚刚发布, 加入了非常多的新特性

原文链接: https://bevyengine.org//news/bevy-0-9/

Cork: 一个十六进制辅助工具

Cork 是一个命令行工具, 可以帮助你处理十六进制数据, 还支持一定的表达式运算.

原文链接: https://github.com/RedDocMD/cork/releases/tag/v0.2.6

--

From 日报小组 BobQin,FBI小白

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从汇编代码来理解 enum
  • Rust 和 C++ 的相互集成
  • 如何开始学习 Rust
  • Bevy 0.9 发布
  • Cork: 一个十六进制辅助工具
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档