![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Добрый день!
Можно ли как-то в Delphi посмотреть какие элементы/формы/компоненты сколько занимают в конечном скомпилированном файле программы? А то после перехода с Delphi 12 на XE (15) размер exe увеличился на 2мб! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 20,999
|
![]()
в настройках проекта можно включить создания map файла, в нем все будет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Гуглим по Delphi extended RTTI.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Спасибо, но вес exe файла 20Мб и полная и даже самая краткая карта (MAP) неудобна. Есть ли что-то подобное в килобайтах с сортировкой по занимаемому весу?
|
![]() |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
![]()
Так есть более простые и удобные средства по этому вопросу?
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,689
|
![]()
Не те времена, чтобы сильно экономить. Если без оптимизации обойтись, то можно просто сжать http://upx.sourceforge.net/#downloadupx
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,442
|
![]()
delphicoding, все зависит от того, что вы используете в своём проекте.
1. нужно выврезать из uses в каждом модуле то, что там не используется. 2. В опциях пакета выкинуть из run-time пакетов то, что не используется. 3. в опциях проекта отключить все те bpl пакеты которые опять же не используешь в проете. 4. Далее открываем exe каким-нибудь Restorator'ом и удаляем все что не юзает exe(Ну тут методом проб и ошибок, интуиция вам подскажет) т.к. удалишь не тот ресурс и эзеры с вас 7 шкур спустят.. 5. Сжатие exe при помощи upx(Опять же играйте с настройками сжатия(Ультра-брута и вырезания таблиц релокаций вполне достаточно)). Ну а далее только с кодом баловаться... лень писать. |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]() Цитата:
Раз до сих пор нет - никому особо это не надо. Иначе давно бы написали.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
3 часа моего времени - и готово. См. аттач.
Запускаем, тыркаем в .exe, ставим уровень детализации информации и любуемся статистикой. Это программа - часть EurekaLog 7 Tools Pack. Примечание: три последний уровня детализации (до модулей, классов и подпрограмм) требуют наличие отладочной информации EurekaLog для программы. Просто мне было проще считывать статистику по готовой инфе, чем парсить .map файл. Отладочную информацию EurekaLog можно получить двумя способами: - скомпилировать программу с EurekaLog (Trial версия EurekaLog вполне подойдёт). или - скомпилировать программу с созданием .map файла и обработать её ecc32 (взять, опять же, можно из Trial-а EurekaLog; как юзать - см. справку). Пример вывода: Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
а чем tdump не устроил?
> 24520 bytes (1%) ecc32.Finalization ого, нехилая такая финализация )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пользователь запретил приглашать себя в приложения", сколько не парился никак не могу убрать. Как убрать? | nigretos | Свободное общение | 3 | 10.06.2011 15:48 |
Как можно посмотреть DLL | cargo29 | Общие вопросы Delphi | 5 | 14.04.2011 14:04 |
сколько весит байтов? | Saken_ | Общие вопросы Delphi | 3 | 18.10.2010 23:40 |
Как выставить размер окна консольного ДОС приложения? | tolikrog | Помощь студентам | 5 | 27.01.2010 13:22 |
сколько весит сайт | RAVAL)) | О форуме и сайтах клуба | 10 | 16.06.2009 00:28 |