[Rust Daily] 2023-10-02 Улучшение функции автозаполнения в макросах Rust.

Улучшена функциональность автозаполнения в макросах Rust.

Автозаполнение — это функция интегрированной среды разработки, которая помогает разработчикам быстро находить правильные ключевые слова и параметры при написании кода. В макросах Rust автозаполнение может выглядеть неточным или неполным.

Автор статьи представляет следующие методы улучшения функции автозаполнения в макросах Rust, чтобы вам было удобнее использовать макросы.

Исходная ссылка https://blog.emi0x7d1.dev/improving-autocompletion-in-your-rust-macros/

IoT и Rust: подключение к Wi-Fi на ESP

Эта статья является первой в новой серии о разработке Интернета вещей (IoT) на ESP32 с использованием Rust. В этой серии статей основное внимание будет уделено нескольким аспектам аппаратного обеспечения Интернета вещей и облачным подключениям, таким как Wi-Fi и HTTP.

Для большинства служб Интернета вещей первым шагом всегда является получение какого-либо доступа к сети. Итак, в этом посте мы начнем серию с настройки и настройки Wi-Fi, что мы сделаем с помощью крейта esp-idf-svc.

Исходная ссылка https://dev.to/apollolabsbin/iot-with-rust-on-esp-connecting-wifi-4be6

Два метода динамической отправки в Rust и C++

И в Rust, и в C++ есть встроенная динамическая диспетчеризация (но реализована она по-разному), и в этом видео представлены подходы обоих языков и взвешены их плюсы и минусы.

Динамическая диспетчеризация — это функция времени выполнения, которая позволяет вызывать правильную функцию во время выполнения, а не только во время компиляции. Это имеет решающее значение для достижения полиморфизма — важной концепции программирования, которая позволяет писать код, способный обрабатывать различные типы данных.

Rust использует механизм, называемый объектом типажа, для реализации динамической диспетчеризации. Объект типажа — это указатель на любой тип, реализующий данный признак. Когда вы вызываете метод объекта типажа, компилятор ищет правильную функцию для вызова во время выполнения.

C++ использует механизм, называемый таблицей виртуальных методов (vtable), для реализации динамической диспетчеризации. vtable — это массив указателей на все виртуальные функции объекта. Когда вы вызываете виртуальный метод объекта, компилятор ищет в виртуальной таблице правильную функцию для вызова.

Преимущества и недостатки динамической диспетчеризации в Rust и C++

Ржавчина

преимущество:

  • Объекты типажей являются типобезопасными, что означает, что компилятор может гарантировать, что вы не вызываете методы для несовместимых типов.

  • Объекты типажей имеют очень небольшие накладные расходы на производительность.

недостаток:

  • Использование объектов типажей может затруднить чтение и понимание кода.

С++

преимущество:

  • Использование таблиц виртуальных методов может облегчить чтение и понимание кода.

недостаток:

  • Таблицы виртуальных методов могут привести к дополнительным затратам производительности.

  • Использование таблиц виртуальных методов может привести к дальнейшим ошибкам, например к неправильному переопределению виртуальных методов или неправильной реализации виртуальных деструкторов.

Видео на YouTube https://www.youtube.com/watch?v=wU8hQvU8aKM

--

От Daily Team BobQ, новичка в ФБР

Подписка на платформу обмена общественным обучением:

  • Форум Rustcc: поддержка RSS

  • Публичный аккаунт WeChat: китайское сообщество языка Rust

Supongo que te gusta

Origin blog.csdn.net/u012067469/article/details/133532864
Recomendado
Clasificación