The OpenNET Project / Index page

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



"Выпуск языка программирования Rust 1.69"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Выпуск языка программирования Rust 1.69" +/
Сообщение от n00by (ok), 23-Апр-23, 08:33 
>>> Стандарт описывает характеристики типов с плавающей запятой, там нет функций.
>> То есть имплементация поддерживает плавающий тип данных. Значит, может производить арифметические
>> операции. Соответственно, при переключении контекста (потока исполнения) ОС вынуждена
>> сохранять регистры FPU.
> какие в freestanding потоки? и какая ОС?

Если я делаю conforming implementation, приходится учитывать окружение, где будет запускаться собранная программа. Если мне надо обеспечить компиляцию хелловорда в пригодный для запуска в Linux образ ELF размером 1,5 Кб, и при этом сохранить поддержку библиотекой полезных программ, то возникает вопрос - а что делать с флагами FPU и соответствием стандарту. А Вы с какой целью интересуетесь?

>> В ядре из соображений экономии времени и памяти FPU не используется (при
>> необходимости принимаются дополнительные меры) и формально получается, что там не conforming.
> Вы про ядро, а при чём тут компилятор?

Я про стандартную библиотеку, которая формально для ядра Linux отсутствует.

>>> Настройка флагов FPU идёт в fenv.h, который не обязателен для freestanding.
>> fenv.h позволяет пользователю настроить по своему желанию.
>> FLT_ROUNDS из float.h implementation-defined, но при этом он одинаков при каждом запуске
>> после трансляции, то есть имплементация должна дать гарантии.
>> в частности в glibc флаги настраиваются по цепочке __libc_init_first --> posixland_init
>> --> __setfpucw
> это реализовано в libc. У нас есть своя программа, которую можно назвать
> прошивкой, там ничего этого нет, и ничего от gcc, который компилирует
> эту программу мы не требуем.

Вопрос не в том, можно ли назвать прошивкой. Можно ли назвать используемую там библиотеку соответствующей стандарту имплеменатцией.

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

Оглавление
Выпуск языка программирования Rust 1.69, opennews, 20-Апр-23, 22:57  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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