Индекс форумов |
Исходное сообщение |
---|
"Для ядра Linux предложен драйвер GPIO, написанный на Rust" Отправлено Аноним, 21-Июл-21 03:29 |
Ваша ссылка вывалила мне кучу рекламы и предложила купить какие-то курсы, а если не куплю - то и читать мне она ничего не даст. Что касается инициализации - берешь структуру (в си есть структуры) и инициализируешь, это ведь делается одинаково что в Rust, что в Си. Можно даже свой конструктор написать, где объединяется выделение памяти и инициализация, получится всё по RAII. А если надо - пишешь геттеры и сеттеры, при правильной работе с типами в Си компилятор Си тоже не даст записать в структуру мусор. Все-таки в си есть свобода - можно писать так и эдак, можно работать с типами и подсказками компилятора, а можно сказать компилятору что разберешься без него и все переменные сделать void* . В Расте же ты гвоздями прибит к его способу работы с ресурсами и данными, это может быть где-то удобно, но не везде, например что если я хочу использовать четыре разных аллокатора памяти? Или написать свой собственный? А вот как в расте написать свой Vec с ручной работой с памятью через unsafe, например хочу чтобы сначала заполнялись четные ячейки массива, а потом нечетные, или чтобы в Vec были куски, при доступе к которым вываливалась бы ошибка (в ядре такое есть, чтобы выявлять доступ куда-то не туда, т.е. баги при работе с памятью)? На Rust я такое не смогу, а на си - достаточно просто. А Zig так вообще практически из коробки дает возможность гибкой работы с аллокаторами (функции принимают аллокатор как аргумент). |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |