The OpenNET Project / Index page

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



"Выпуск языка программирования Rust 1.73"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск языка программирования Rust 1.73" +/
Сообщение от Аноним (364), 08-Окт-23, 07:30 
>> Размер бинарника - это включая заголовки ELF. Плюс данные по адресу 0x4000cc,
>> почему-то забытые. Так что ответ малость не в тему.
> ...
>> *) Если в примере закомментировать определение второй секции, получится 173 байт. Это
>> не предел, но эти фокусы относятся не к языку, а к линкеру.
> Размер бинарника на этом уровне (включая заголовки) - это вопрос линковки.  

Потому и уточнил в сноске. Однако, fasm-у не нужен линкер. Формат исполняемого файла, секции или сегменты описываются в исходном тексте. Так что формально пример подпадает под "на ассемблере напишу". Другое дело, что сам заявитель обещание не выполнил.

> В контексте рантайма (иначе зачем припрлетать асм) интересен сгенеренный код.
> Как мы видим ничего лишнего там нема, хотя там ни строчки асма нет
> (на самом деле конечно подставляется макросом syscall!, но это и у
> сишки примерно так же).

На лишнее я указал в отдельном сообщении - пролог с созданием стекового кадра. Впрочем, это вопрос к оптимизатору и опциям при компиляции. Если бы кто-то потрудился тот древний пример для FreeBSD пересобрать под их любимую ОС актуальным транслятором, вероятно, этих команд бы не было.

>> Последний jmp на самого себя это похоже фишка Раста и не убирается.
> Это фишка "loop{}" в самом коде.

Вопрос в убирается ли. На том же Си не всегда просто исключить ненужную команду ret.

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

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



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

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