The OpenNET Project / Index page

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



"Выпуск MirageOS 3.5, платформы для запуска приложений поверх..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск MirageOS 3.5, платформы для запуска приложений поверх..." +/
Сообщение от Аноним84701 (ok), 11-Мрт-19, 17:07 
> размером 512 байт

Неа, см:
>> 2 passes, 56 bytes

Специально считерил, "срезав" (см. последние три строчки - ";" в интел-синтаксисе комментарий) конец и дав подходящую команду для записи с помощью dd.
В принципе, можно и сам код еще (существенно) сделать меньше, но тогда оно может резко стать "qemu-only".
Но даже при размере в 512 байт оно выигрывает по размеру общих зависимостей (ни ld-elf, ни ядра не нужно) :P

Кстати, могу еще предложить:


cat hello.asm
org 100h
use16

mov dx, msg
mov ah, 09h
int 21h

int 20h
msg db 'Hello World!',0Ah,'$'

% fasm hello.asm                                                                  
flat assembler  version 1.73.09  (16384 kilobytes memory)
2 passes, 23 bytes.


> (на некотором железе не запустится),

Оно ж уже и не модно, давно. Тем более и на "том" железе была куча проблем и проблемок (а так же костылей, костыликов и подпорочек -- достаточно откопать LILO или глянуть (возможно, в старый вариант) GRUB).
Хотя замена старых костылей на "молодежные" PE + FAT32 вообще за гранью добра и зла …

> было "Smallest x86 ELF Hello World" (50 байт + файловый заголовок).

Изначально речь шла о (грубом и ориентировочном) размере в довольно узких рамках ;)
см.
>> компилируется в 113 килобайт, в отличие от мегабайтов Хаскеля

На самом деле тут еще желательно знать, что там линкуется статистически, а что динамически, т.к. тот же HelloWorld на Си при "gcc -static -s" запросто может выдать бинарник на 500КБ c гаком, а для плюсов и на все полтора, но те кто обсуждают, скорее всего более-менее в курсе или же могут посмотреть.

Однако, одно дело "стандартный" бинарник с использованием стандартной библиотеки/рантайма и совершенно другое -- "минимальный бинарник", с вставками ASM и прямыми сискол-вызовами ядра.
Оно конечно прикольно, но вот желающих писать реальный софт таким макаром почему-то особо не видно и практическая ценность таких замеров примерно на том же уровне, что и замер кое-чего другого  ;)

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

Оглавление
Выпуск MirageOS 3.5, платформы для запуска приложений поверх..., opennews, 08-Мрт-19, 11:24  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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