|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.05.2019, 11:57 | #11 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Есть куча способов получить исполняемый файл.
Цитата:
Замены стартера(Bootstrap). https://wiki.osdev.org/Bare_Bones Сжатия и выкидывания секций через линкер. А сравнивать 16 битный код смысла нету. Тогда компиляторы были маленькие писались малыми коллективами. А сейчас есть x64 есть АРМ. Над оптимизацией которых бьются уже большие коллективы, да даже колоборации коллективов. Взять хотя бы уровни оптимизации которых стало больше с -O2 до -О4. И на каждом уровне есть просто куча различных техник и приемов. И вот это только для начала: https://wasm.in/blogs/optimizacija-d...ium-chast-1.9/ https://www.intel.com/content/dam/ww...ion-manual.pdf
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
27.05.2019, 13:09 | #12 |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
Я же просил об этом не писать. Напиши пустую программу на С и собери GCC с -О4, ты удивишься её размеру. Я здесь и хочу разобраться, почему после оптимизации "воздуха" получаются "кирпичи". Это мегамозги думают? Вопрос, чем они руководствуются, чтобы добавлять этот "мусор"?
|
27.05.2019, 13:15 | #13 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Написал. Выхлоп пустой:
Код:
|
27.05.2019, 13:16 | #14 |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
|
27.05.2019, 13:19 | #15 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Кб чего? Одной инструкции?
|
27.05.2019, 13:21 | #16 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Что Вы называете "мусором"?
смотрите. Аналог такой. у меня есть велосипед. Там два колеса, сидение, руль. я прицепил моторчик, бензобак. Получилось конструкция типа "мопед". вес получился 60 кг. Решил добавить руль, пару колёс, сидения, корпус. Двигатель чуть побольше, бак. Получился автомобиль. Почему вес стал в 20 раз больше и зачем добавили весь этот "мусор" ?! |
27.05.2019, 13:38 | #17 | |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
Цитата:
Есть 2 велосипедные рамы, которые ничего не делают. Почему одна весит допустим 300 байт, а другая 4 КБ. За счёт чего? Она лучше, красивее, прочнее? К программам это не применимо, только отказоустойчивость. Она более защищена от взлома? Даввайте только не гадать, а анализировать код? |
|
27.05.2019, 13:43 | #18 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Давайте. Приводите аналогичный код на асме и С. Приводите выхлоп компилятора и проводите анализ прям по пунктам: заголовок столько-то, под стек там выделено столько-то, тут столько-то, там столько-то сегментов/таблиц/..., тут ....
P.S. И указывайте опции обязательно. |
27.05.2019, 15:23 | #19 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Код:
Код:
"Famw.exe hello.asm" "C:\Qt\Qt5.2.0\Tools\mingw48_32\bin \i686-w64-mingw32-g++.exe" -s HELLOC.CPP -o helloc.exe -nostdlib -Wl,-b=pe-i386,-luser32,--subsystem=windows -s" 1.5 и 3 Кб. Можно ещё сжать там полно нулей. https://yadi.sk/d/0n9nZPg8H1xVsQ P.S. Почему-то к сообщению не цепляются файлы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 27.05.2019 в 16:41. |
27.05.2019, 17:32 | #20 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
В онлайновом учебнике по программированию на ассемблере в win32 (перевод UniSoft) есть такие строки: «Я провел эксперимент, написал программу (обычное окно с одной кнопкой в центре, которая закрывает его) на разных языках высокого уровня и после компиляции получил вот такие размеры этой самой программы:
Код:
Последний раз редактировалось Mikl___; 27.05.2019 в 17:35. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализация других языков в Visual Basic | pikachu_182 | Помощь студентам | 0 | 27.05.2012 16:11 |
Как компиляторы для языков программирования пишутся на самих себе? | bullvinkle | Свободное общение | 29 | 19.03.2010 15:47 |
вместо номера телефона выводится на экран какой-то мусор | le_den | Общие вопросы C/C++ | 2 | 25.11.2008 20:45 |
компиляторы и трансляторы PDP-10 FORTRAN, PDP-1 Assembler и PERL | akimovster | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 24.07.2007 05:59 |