![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
-=CHE@TER=- |
![]()
Сообщение
#1
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,355 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 311 раз(а) ![]() |
Наверное, все уже ей пользуются, но всё-же...
Есть такая программа от автора знаменитого InnoSetup: StripReloc 1.13. Она убирает из .EXE файла relocation секцию (".reloc"), тем самым уменьшает его размер. Для программ на Delphi очень архиважная и полезная вещь - уменьшить размер готового .EXE'шника (полезно сделать перед упаковкой UPX'ом). Подробнее читайте по приведённой выше ссылке на странице программы. Программа на Delphi 7: CODE Begin End. .EXE занимает - 13824 байта. После того, как по ней StripReloc проехался - 12800 Итого: чистый 1 Кб "довеска". Естественно, что чем больше программа, тем и "довесок" будет больше. Я использую так: StripReloc.exe /B /C filename.exe |
![]() ![]() |
Xplorer |
![]()
Сообщение
#2
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 52 Регистрация: 4-February 08 Пользователь №: 8 Спасибо сказали: 30 раз(а) ![]() |
Она убирает из .EXE файла relocation секцию (".reloc"), тем самым уменьшает его размер. Для программ на Delphi очень архиважная и полезная вещь - уменьшить размер готового .EXE'шника (полезно сделать перед упаковкой UPX'ом). UPX по умолчанию для PE EXE-файлов сам удаляет релоки. |
-=CHE@TER=- |
![]()
Сообщение
#3
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,355 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 311 раз(а) ![]() |
UPX по умолчанию для PE EXE-файлов сам удаляет релоки. Хех, не тут-то было.Такая программа на Delphi 7: CODE Begin End. Компилируем. Получаем .EXE файл размером 13824 байт. 1) Натравливаем на него StripReloc и пакуем/распаковываем при помощи UPX 3.00. file.exe (13824) StripReloc.exe /B /C file.exe (12800) upx -9 file.exe (8704) upx -d file.exe (12800) Получаем те же 12800 байт. 2) Поступаем по другому - не натравливаем на него StripReloc, а сразу жмём: file.exe (13824) upx -9 file.exe (8704) upx -d file.exe (13824) Т.е. Reloc'и то он стрипает (скорее, зануляет), но вот размер остаётся тем же. Будет ли размер такой же или выростет на больших файлах - не знаю (сдаётся мне он вообще в упакованный файл ничего об Reloc не пишет) и ещё вопрос - будет ли он больше в оперативной памяти занимать или нет? И всё-же при распакованном файле разница чувствуется (*улыбается*). |
![]() ![]() |
Упрощённая версия | Сейчас: 13th June 2024 - 19:23 |