Уменьшение размера исполняемого файла

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Mikhail не понял... Ваш код, ведь без дизайнера. Т.е. руками "шлёпать". Т.е. больше времени займет. Или вы о другом?
Mikhail
энтузиаст
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Сообщение Mikhail »

pupsik писал(а):Mikhail не понял... Ваш код, ведь без дизайнера. Т.е. руками "шлёпать". Т.е. больше времени займет. Или вы о другом?

Я о том что времени потратишь больше, а результат (размер бинарника, скорость) тот же. :wink:
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Mikhail писал(а):хорошая IDE всегда пригодится. :)


Поверьте, разница не очень большая. Во времена когда компьютеры были большими, а времени давали мало, вообще приходилось на бумажном блокноте писать.

Добавлено спустя 2 минуты 15 секунд:
Mikhail, к сожалению, у меня WinLite не запустилась. Вот это, действительно, маленькая библиотека.
Mikhail
энтузиаст
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Сообщение Mikhail »

Лекс Айрин писал(а):Поверьте, разница не очень большая.


Не поверю. :D Дополнение кода, контекстная справка, интегрированный отладчик, автоматическое ведение файла проекта и много чего еще - здорово упрощает жизнь и увеличивает производительность труда.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Mikhail писал(а):Если интересно чего там так много откройте бинарник в блокноте и посмотрите, особенно ближе к концу.

Ну открыл... там все элементы с формы есть... все задействованные переменные... там вообще всё... чуть ли не весь текст программы "в открытом виде"... Тоже мне бинарный файл... А главное ведь, всё это мусор, который программе ненужен (((((((((((((((((
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Mikhail, угу... если бы оно все это БЫЛО. Если честно, то я и под лазарем пользуюсь преимущественно первым и крайним. Для справки использую, преимущественно код LCL/RTL... ну и в интернете многое нахожу. Отлаживаю по старинке (инъекцией отладочного вывода)... иногда даже быстрее получается.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Лекс Айринв те времена был папа дос.
Вот тогда бы сказали: учитывая размер диска ваша прога будет около 5 метров. :mrgreen:

Блокнот - нормальное решение (бумага и карандаш - для меня и есть разработка :)). Но..о, кнопки карадашиком не набросать (окромя электронным).

WinLite - это нечто набора джедаев?
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Сократив только: Height и Width - можно "гигабайт" сэкономить, а в глобальном масштабе на них по всему миру реально 100 000 000 гигов тратится... Лучше бы я не смотрел в блокноте... лучше бы не знал... вся программа в открытом виде... там от бинарного кода 1% а всё остальное... текст программы практически "в открытом виде"... даже дезасемблировать ненужно... так можно читать... естественно они весят по 3 Мб... Я даже в HTML больше экономлю...


.
Аватара пользователя
bormant
постоялец
Сообщения: 408
Зарегистрирован: 21.03.2012 11:26:01

Сообщение bormant »

Главное помнить, когда делают так
vitaly_l писал(а):

Код: Выделить всё

     if (classNameString = dllClassName) 
          then someName := true
          else someName := false;


вместо

Код: Выделить всё

  someName:=classNameString=dllClassName;
где-то умирает котенок. :twisted:
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

vitaly_l писал(а):Сократив только: Height и Width - можно "гигабайт" сэкономить, а в глобальном масштабе на них по всему миру реально 100 000 000 гигов тратится... Лучше бы я не смотрел в блокноте... лучше бы не знал... вся программа в открытом виде... там от бинарного кода 1% а всё остальное... текст программы практически "в открытом виде"... даже дезасемблировать ненужно... так можно читать... естественно они весят по 3 Мб... Я даже в HTML больше экономлю...


есть мнение, что ты просто stabs-ы не отключил, а то и любуешься на rtti
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

pupsik писал(а):это нечто набора джедаев?


типа того.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

bormant писал(а):вместо
КОД: ВЫДЕЛИТЬ ВСЁ
  someName:=classNameString=dllClassName;
где-то умирает котенок.

Круто! Этот котёнок вовремя умер, т.к. я такое действительно не использую, но теперь буду - т.к. нравится. Спасибо!

скалогрыз писал(а):есть мнение, что ты просто stabs-ы не отключил, а то и любуешься на rtti

Я не знаю что такое stabs-ы :cry: Как отключить? Проверим.


Добавлено спустя 40 минут 41 секунду:
Я попробовал все эти названия, которые зачем-то сохранены в бинарном коде программы, у меня весят: 997 кб, по сути мегабайт. Это названия: классов, переменных и функций. Я так понимаю, это таблица линковки в конце бинарного файла, судя по расположению текста. И там прилинковано всё, и каждая переменная и каждая функция и каждый класс: Height, Width, Top, Left/ onClick, onDblClick, / TButton, TEdit etc... И у меня отключена вся отладочная информация... И в реальности, можно же - всё это убрать из бинарного кода. Правда сложно, но можно... и без потери работоспособности программы.

Если дело в stabs-ах, то я хочу их отключить :cry: Как отключить stabs-ы?

.

Добавлено спустя 14 минут 32 секунды:
Для примера, открыл родной regedit.exe от windows - там всё тоже самое, соответственно дело не в stabs-ах. Соответственно, если воплотить то что описано выше в данном топике, то можно даже "Нобелевскую требовать" у Microsoft, т.к. они то уж могли бы догадаться убрать названия из бинарных файлов, хотя-бы ради экономии "моего" диска. Судя по всему, котёнком который вовремя сдох - был Microsoft...


.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

pupsik писал(а):скалогрыз 3 кб - с формой (просто на данный момент не могу скачать с форума. Рег. не помню :()?

ну так исходники есть, мог бы и сам подпилить ;)

Вот - hello world с формочкой. Итоговый размер 3584 байта. Без UPX.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

скалогрыз вы не дочитали... На тот момент я не мог познакомиться с кодом.... Чужой комп (лог/пароль с форума лазаря забыл :()

п.с.
Ну..у отличненько. Только это не решает вопроса. Т.е. почему "жира" много. Повторяюсь: я обожаю кнопки жамкать, а не формы руками создавать :mrgreen:
Ответить