Уменьшение размера исполняемого файла
Модератор: Модераторы
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Снег Север, вы мне напомнили анекдот про программиста выбирающего между адом и раем "...это тут же, но будете заниматься техподдержкой" я сам лично видел как виста на современном тогда компе работала одна и, практически годилась только на запуск блокнота... потом ее, вроде бы, пофиксили... после того как ее продажи почему-то оказались почти на нуле. Но и потом я встречался с мелкими глюками типа труднонастраиваемого файфая и пр.. (причем с лицензионной осью). в семерке, все отладили и аппетит памяти уменьшился.
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Лекс Айрин, все проблемы, якобы, от ОС, с которыми я лично сталкивался, на самом деле были от глючного железа неизвестных производителей. И да, я редко менял ОС сразу после ее выхода, дожидался первых патчей. С Вистой у меня ни дома, ни на работе проблем не наблюдалось. Заметной на глаз разницы в объеме потребляемой памяти у Висты и у семерки, не заметил.
Снег Север писал(а):на самом деле были от глючного железа неизвестных производителей
Чаще даже не железо, а драйверы.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Снег Север, если оборудование работает (настраивается) нормально под семеркой и легким/тяжелым линуксом, но не работает в (настраивается) в висте... причем, после патчей и прочего, то это уже диагноз. А насчет потребления памяти... оно и будет примерно одинаковым. Но все же семерка работала чуть быстрее, за счет оптимизированного кода. Конечно, это заметно лишь после тщательной настройки компа, так как хлама везде полно.
Лекс Айрин писал(а): если оборудование работает (настраивается) нормально под семеркой и легким/тяжелым линуксом, но не работает в (настраивается) в висте... причем, после патчей и прочего, то это уже диагноз
Диагноз чего?
Например, на висте в принципе не работает оборудование на процессорах Intel G20xx и подобным им (с тем же видеоадаптером). Обычные такие вполне современные процессоры, широко распространенные. Потому что в природе не существует драйвера видеокарты для Висты на графическое ядро этого процессора. Не, ну vesa driver - рулёз форевер... с разрешением 640х480 и без ускорения даже 2D...
С другой стороны, гомномашины на чипсете SiS 615(M). Как раз под висту на сей видеоадаптер драйвера еще есть, а семерка увидит весу без аппаратных ускорителей. Линуксы после ядер 2.6 - тоже. Из-за чего это все будет двигаться меееедленно и плохо.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
SSerge, речь, допустим, идет о вполне себе типовых wi-fi "свистках" и их оснастке поставляемых в составе "сертифицированных" под висту ноутах. Из-за которых настройка соединения превращается в многоступенчатую головоломку. (при том, что в итоге все таки удается запустить, но смена пароля должна производиться в настройках соединения заранее, а не в процессе самого соединения)
А ведь, в принципе, ничего особо не мешало написать висту так, что бы она летала на тех же самых тачках. Просто написать ее чуть по другому.
А ведь, в принципе, ничего особо не мешало написать висту так, что бы она летала на тех же самых тачках. Просто написать ее чуть по другому.
Лекс Айрин
Ноуты, у которых изначально при продаже была виста на борту, обычно вполне нормально и быстро под нею работают. С поддержкой всего оборудования. Имеются в в виду всякие там HP, Dell и иже с ними, а не те, на которые софт ставил реселлер.
У висты принципиальная проблема с WiFi, и связан она с неподдержкой шифрования, если не устанлен один из сервис паков, то ли первый, то ли второй. Из за этого виста в базовом виде в принципе не коннектится с точками доступа по WPA2. А то коннектится, а трафик через соединение не идёт. То ж самое, кстати с XP без сервис паков.
Ноуты, у которых изначально при продаже была виста на борту, обычно вполне нормально и быстро под нею работают. С поддержкой всего оборудования. Имеются в в виду всякие там HP, Dell и иже с ними, а не те, на которые софт ставил реселлер.
У висты принципиальная проблема с WiFi, и связан она с неподдержкой шифрования, если не устанлен один из сервис паков, то ли первый, то ли второй. Из за этого виста в базовом виде в принципе не коннектится с точками доступа по WPA2. А то коннектится, а трафик через соединение не идёт. То ж самое, кстати с XP без сервис паков.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
SSerge, ужас... хорошо, что я этого не знал. Потому как, судя по всему, я сделал невозможное.
Добавлено спустя 2 минуты 7 секунд:
Если я правильно помню, то был то ли HP, то ли Dell.
Добавлено спустя 2 минуты 7 секунд:
Если я правильно помню, то был то ли HP, то ли Dell.
Код: Выделить всё
- slackware 14.2 / x64
- lazarus-3.2.0 / fpc-3.2.2
- upx-3.94
- ucl-1.03
- bash-скрипт
думаю, можно добавить в лазаря в пост-команду сборки проекта (в релизе)
проект (небольшая утилита, работа с TChart) - сжимает до 1.7Мб (дефолтные настройки upx)
Код: Выделить всё
#!/bin/bash
set -e; clear
SRC="$1"
DST="$2"
if [ -z "$SRC" -o -z "$DST" ]; then
echo "arg's error SRC='$SRC', DST='$DST'"
exit 1
fi
echo "### bin/compress ###
SRC = $SRC
DST = $DST
"
strip -v -s -o $SRC.tmp $SRC
upx -o $DST $SRC.tmp
rm -fr $SRC.tmp
exit 0
Последний раз редактировалось sunjob 18.11.2025 09:49:58, всего редактировалось 1 раз.
- Alexander
- энтузиаст
- Сообщения: 864
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Для всех делаю:
вместо strip sstrip, там где он срабатывает (обычный ELF файл).
1. sstrip exename (удалить отладочную информацию из исполняемого файла)
2. upx exename (сжать исполняемый файл)
3. sstrip exename (удалить отладочную информацию из upx-распаковщика исполняемого файла)
Для upx можно дать ключ --best для большей степени сжатия, но будет медленно.
Отработанные небольшие программы можно переписать для этого на Си или ассемблере.
Для Паскаля пока не реализовано, но если есть программы на другом языке может помочь (а может и помешать) mold. Выясняется экспериментально.
Но в основном помогает. Для маленьких экзешников размер с mold'ом может уменьшиться в 4 раза, для больших не так заметно.
вместо strip sstrip, там где он срабатывает (обычный ELF файл).
1. sstrip exename (удалить отладочную информацию из исполняемого файла)
2. upx exename (сжать исполняемый файл)
3. sstrip exename (удалить отладочную информацию из upx-распаковщика исполняемого файла)
Для upx можно дать ключ --best для большей степени сжатия, но будет медленно.
Отработанные небольшие программы можно переписать для этого на Си или ассемблере.
Для Паскаля пока не реализовано, но если есть программы на другом языке может помочь (а может и помешать) mold. Выясняется экспериментально.
Но в основном помогает. Для маленьких экзешников размер с mold'ом может уменьшиться в 4 раза, для больших не так заметно.
