Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

О результате трудов - откомпилированных файлах ... [D7, D2005, XP]


Страницы:   1 2 3

User ©   (2008-07-19 23:07:00) 

Не секрет, что компилятор Delphi в результирующие файлы впихивает все, что надо и, что самое неприятное, что не надо. Дабы в этом убедиться, достаточно откомпилтровать пустышку в виде формы и используя только Forms. При просмотре в eXeScope можно увидеть и Bitmap из 11 картинок, и Dialog (DLGTEMPLATE), и String (11 записей), RCData (в полном составе, включая TFORM1 в виде dfm), стандартные курсоры, ну и, конечно - иконка.
Так вот, есть ли какие-то:
- установки компилятора (-$O+ присутствует), чтобы не включать лишнего в компилируемый файл,
- внешние программы (не упаковщики РЕ), чтобы исключить ненужности из откомпилированного файла.


User   (2008-07-20 00:50:00) [41]

> не майся дурьюпринято ...


Германн   (2008-07-20 00:44:00) [42]


> ну, как вариант, после того как ему "помочь" в выборе

Поскольку ему "помочь" можно только ручками и только непременно при серьёзном участии весьма грамотной головы, то не майся дурью. Начинка выделки не стоит!


User   (2008-07-20 00:33:00) [43]

если рассматиривать текущий проект как состоявшийся (пустышка), лишнего здесь Bitmap, Dialog, String-с и курсоры (если используется стандартный). То же можно применить и к любому проекту, который уже состоялся ...
> как компилятор должен поковыряться в твоих мозгах, чтобы это узнать.
- зачем ему ковыряться, достаточно включить в конечный файл только действительно нужное (ну, как вариант, после того как ему "помочь" в выборе) ...  

ЗЫ:я нивкоем разе не претендую на критику кампилятора от Builder.


Anatoly Podgoretsky   (2008-07-20 00:19:00) [44]


> При просмотре в eXeScope можно увидеть и Bitmap из 11 картинок,
>  и Dialog (DLGTEMPLATE), и String (11 записей), RCData (в
> полном составе, включая TFORM1 в виде dfm), стандартные
> курсоры, ну и, конечно - иконка.

Теперь скажи, что здесь лишнего и для всех случаев, а не только для пустой формы, и самое главное скажи, как компилятор должен поковыряться в твоих мозгах, чтобы это узнать.


Johnmen   (2008-07-19 23:55:00) [45]


> Не секрет, что компилятор Delphi в результирующие файлы
> впихивает все, что надо и, что самое неприятное, что не
> надо.

Радует, что есть ещё люди, для которых нет секретов...


User   (2008-07-19 23:54:00) [46]

> Флаг тебе в руки и барабан на шею.... не хочется ;-)
Установить то установил, но дальше ... надобно доучиваться ...


User   (2008-07-19 23:52:00) [47]

> Соответственно потянутся и ресурсы.... жаль ...

> 2.  Но если на этой пустышке нарастить "мясо", то размер
> исполняемого файла будет расти не так уж и быстро, поскольку
> куча полезного кода уже былав "пустышке".

сегласен, подтверждено экспериментально ...

> 3. Нет и не может быть.опять же - жаль, ... StripReloc действительно уменьшает размер (6,3 % на пустышке) - может быть полезна ...


Amoeba   (2008-07-19 23:38:00) [48]


> KOL вариант, но, насколько я осведомлен, при этом для написания
> кода придется дополнительно поработать ручками (и головой).
>  В принципе, попробую установить, попробую использовать,
>  а там отпишу ...

Флаг тебе в руки и барабан на шею.


Amoeba   (2008-07-19 23:34:00) [49]


> компилятор Delphi в результирующие файлы впихивает все,
> что надо и, что самое неприятное, что не надо.

Издержки ООП.

1. На этапе линковки нереально определить, какие виртуальные методы и весь тянущийся за ними код будут реально вызываться в компилируемом приложении. Соответственно потянутся и ресурсы.


> достаточно откомпилтровать пустышку в виде формы и используя
> только Forms.

2.  Но если на этой пустышке нарастить "мясо", то размер исполняемого файла будет расти не так уж и быстро, поскольку куча полезного кода уже былав "пустышке".

> Так вот, есть ли какие-то:
> - установки компилятора (-$O+ присутствует), чтобы не включать
> лишнего в компилируемый файл,
> - внешние программы (не упаковщики РЕ), чтобы исключить
> ненужности из откомпилированного файла.

3. Нет и не может быть. См. п. 1. Единственно можно убрать действительно неиспользуемую в программах на Delphi (к DLL это не относится) таблицу релокаций (утилитой StripReloc http://jrsoftware.org/striprlc.php).


User   (2008-07-19 23:30:00) [50]

KOL вариант, но, насколько я осведомлен, при этом для написания кода придется дополнительно поработать ручками (и головой). В принципе, попробую установить, попробую использовать, а там отпишу ...


SergeyIT   (2008-07-19 23:20:00) [51]

Возьмите KOL.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо