【Rust日报】2023-10-02 改进 Rust 宏中的自动完成功能

改进 Rust 宏中的自动完成功能

自动完成是 IDE 提供的一种功能,可以帮助开发者在编写代码时快速找到正确的关键字和参数。在 Rust 宏中,自动完成功能可能会出现不准确或不完整的情况。

文章作者介绍了以下几种方法来改进 Rust 宏中的自动完成功能, 这样可以使你的宏在使用的过程中体验更好.

原文链接 https://blog.emi0x7d1.dev/improving-autocompletion-in-your-rust-macros/

IoT 和 Rust: 在 ESP 上连接 wifi

这篇文章是使用 Rust 在 ESP32 上进行物联网(IoT)开发的新系列文章的第一篇。该系列文章将重点介绍几个物联网硬件和云连接方面,如 WiFi 和 HTTP。

对于大多数物联网服务,首先总是需要获取某种网络访问权限。因此,在这篇文章中,我们将通过配置和设置 WiFi 来启动该系列文章,我们将利用 esp-idf-svc crate 进行设置。

原文链接 https://dev.to/apollolabsbin/iot-with-rust-on-esp-connecting-wifi-4be6

Rust和 C++ 的两种动态分派方式

Rust 和 C++ 都内置了动态分派(但实现方式不同), 本视频介绍这两种语言的方法,权衡它们的优缺点.

动态分派 是一种运行时特性,它允许在运行时调用正确的函数,而不仅仅是编译时。这对于实现多态性至关重要,多态性是编程中的一种重要概念,它允许您编写可以处理不同类型数据的代码。

Rust 使用一种称为 trait object 的机制来实现动态分派。trait object 是一个指向实现给定 trait 的任何类型的指针。当您调用 trait object 上的方法时,编译器会在运行时查找正确的函数来调用。

C++ 使用一种称为 虚方法表(vtable)的机制来实现动态分派。vtable 是一个指向对象的所有虚函数的指针数组。当您调用对象上的虚方法时,编译器会在 vtable 中查找正确的函数来调用。

Rust 和 C++ 动态分派的优缺点

Rust

优点:

  • trait object 是类型安全的,这意味着编译器可以确保您不会调用不兼容的类型上的方法。

  • trait object 的性能开销很小。

缺点:

  • trait object 的使用可能会使代码更难阅读和理解。

C++

优点:

  • 虚方法表的使用可以使代码更易于阅读和理解。

缺点:

  • 虚方法表可能会导致额外的性能开销。

  • 虚方法表的使用可能会导致更多的错误,例如虚方法未被正确覆盖或虚析构函数未被正确实现。

油管视频 https://www.youtube.com/watch?v=wU8hQvU8aKM

--

From 日报小组 BobQ, FBI小白

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

猜你喜欢

转载自blog.csdn.net/u012067469/article/details/133532864