![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
О результате трудов - откомпилированных файлах ... [D7, D2005, XP]
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.