StripReloc 1.13, уменьшаем размер .EXE файла |
Добро пожаловать, гость ( Вход | Регистрация )
StripReloc 1.13, уменьшаем размер .EXE файла |
-=CHE@TER=- |
May 29 2007, 07:35
Сообщение
#1
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Наверное, все уже ей пользуются, но всё-же...
Есть такая программа от автора знаменитого 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 |
Jun 4 2007, 16:42
Сообщение
#2
|
Advanced Member Группа: CTPAX-X Сообщений: 52 Регистрация: 4-February 08 Пользователь №: 8 Спасибо сказали: 30 раз(а) |
Она убирает из .EXE файла relocation секцию (".reloc"), тем самым уменьшает его размер. Для программ на Delphi очень архиважная и полезная вещь - уменьшить размер готового .EXE'шника (полезно сделать перед упаковкой UPX'ом). UPX по умолчанию для PE EXE-файлов сам удаляет релоки. |
-=CHE@TER=- |
Jun 4 2007, 20:55
Сообщение
#3
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
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 не пишет) и ещё вопрос - будет ли он больше в оперативной памяти занимать или нет? И всё-же при распакованном файле разница чувствуется (*улыбается*). |
Упрощённая версия | Сейчас: 10th November 2024 - 23:17 |