The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Линус Торвальдс не исключил возможность интеграции поддержки Rust в ядро Linux 5.20"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "YOU are full of Bullshit!" +/
Сообщение от n00by (ok), 01-Июл-22, 10:18 
>> Диспетчер исключений это аналог setjmp.h.
> Я не уверен что в ядре исключения хорошая идея.

Потому и пишу "аналоги". Оно как бы есть по стандартам языков, но вполне можно без него.

> И хрустиковая паника
> тоже. Ну вот допустим у нас не получилось выделить память а
> падать не хотим. Вместо этого хотим попозже попытаться опять. Но исключения
> и паника это не обеспечат.

В Си++ это всё делается с помощью placement new, либо точно так же как и в Си.

> Торвальц хрустикам популярно донес, до них
> дошло вроде. И будет у них там более сиобразный стиль... )))

Только в другом синтаксисе.

>> Статические конструкторы это аналог __init.
> Этот __init что и где? В сях его быть не обязано, технически
> гнутый тулчайн оперирует entry (с любым названием).

Этот __init можно найти в коде ядра. Точно так и статические экземпляры не обязательно создавать.

> Его вызывают (кто и
> почему отдельный вопрос), а дальше - теоретически, там должен быть стартап,
> который нормальную сишную арену соберет. В стандартной программе потом main вызовет.
> Может быть и что-то еще, тогда это окружение отличается от стандартного
> си по свойствам. Сам компилер в freestanding режиме как максимум может
> хотеть 3 функции, это 100% документировано: memcpy, memset и memmove. Вот
> их он реально иногда сам втыкает при кодогенерации. У плюсоы все
> сильно разлапистее, конечно.

У меня это всё практически написано в виде работающего кода. Потому я могу утверждать, что мнение "сильно разлапистее" является предрассудком, в лучшем случае после знакомства с жирными реализациями. Это примерно как сказать "Си не годится в ядро, поскольку glibc много весит". ;)

>> unique_ptr не требует что-либо из "рантайма". Упрощённо можно считать, что перед скобкой
>> } транслятор вставляет free(ptr);
> Круто, кроме того что alloc/free изначально тоже нет. Их как максимум можно
> себе создать.

Потому и написано "упрощенно". Вызывается заданная программистом функций.

>> - почему ты забыл префикс lock?
>> - у меня на вируталке и так работает!
> А таки я активно VM юзаю, ядерщики тоже, и это сильно упрощает
> многие вещи. И разницы с VM и железом обычно минимум.

Да, "обычно минимум". То есть разница есть.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Линус Торвальдс не исключил возможность интеграции поддержки Rust в ядро Linux 5.20, opennews, 22-Июн-22, 09:28  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру