Джоуи
|
||||||
1 | ||||||
Как уменьшить размер исполняемого файла?29.03.2016, 11:49. Показов 3839. Ответов 12
Метки нет (Все метки)
Я не про strip, UPX, галочки генерировать отладочную инфу, умная компоновка и т.д.
Я про использование ненужных модулей, типа Dialogs, если я не вызываю никакого MessageDLG и т.п. Так вот, новый проект по умолчанию подключает
Не по теме: просьба не ругаться на банальность вопроса
0
|
29.03.2016, 11:49 | |
Ответы с готовыми решениями:
12
Как уменьшить размер исполнимого файла? Как уменьшить размер exe-файла? Как уменьшить размер приложения для КПК Как уменьшить размер Lazarus.exe после установки компонентов? |
Супер-модератор
|
|
29.03.2016, 12:43 | 2 |
Сообщение было отмечено Joey как решение
Решение
Зато ты наверняка вызываешь ShowMessage, которая тоже оттуда же. Вообще, при установке галочки в Настройки проекта - Параметры компилятора - Подробность вывода - Подсказки о неиспользуемых модулях, тебе компилятор сам скажет, какие из подключенных модулей действительно не используются. Их можешь смело удалять из списка Uses.
Или правый клик мыши в окне редактора -> Переработка кода -> Неиспользуемые модули Но это ничего не даст, если содержимое модуля не используется - оно и в exe-файл добавлено не будет. Так, чисто эстетически только помогает.
1
|
Джоуи
|
|
29.03.2016, 13:01 [ТС] | 3 |
Убрал из uses все, кроме Forms и StdCtrls, поставил на форму один TButton, и все равно exe-шник весит 1,83 мб (столько же, сколько и со всеми модулями + еще одной формой)
Добавлено через 50 секунд Не знал, спасибо!
0
|
Joey
|
29.03.2016, 13:08
[ТС]
#5
|
0
|
442 / 371 / 132
Регистрация: 09.09.2011
Сообщений: 1,339
|
|
29.03.2016, 22:59 | 6 |
насколько я себе представляю, радикально уменьшить размер исполняемого файла графического приложения LCL не получится. Минимальное приложение будет примерно 1.7 - 1.8 Мб.
Уменьшить можно: 1. отказавшись от GUI LCL - в пользу интерфейса командной строки 2. вместо LCL - делать GUI на чистом WinApi 3. вместо LCL - делать GUI на fpGUI (например) 4. попробовать KOL, но насколько я понял оно заброшено и имеет много ограничений в любом случае, кроме 1-го варианта, трудоемкость создания приложения повыситься кратно. стоит ли оно мегабайта на терабйтном винчестере??? спорное решение...
1
|
пофигист широкого профиля
4754 / 3191 / 860
Регистрация: 15.07.2013
Сообщений: 18,482
|
|
02.04.2016, 01:22 | 8 |
Кому неприятно? Тебе? Так ты посмотри на размер программ, которые установлены на твоём компьютере.
0
|
Супер-модератор
|
|
02.04.2016, 16:41 | 10 |
Из описания LLCL:
очень редко. Про TThread без Synchronize я вообще ничего говорить не хочу)
1
|
392 / 191 / 48
Регистрация: 11.07.2013
Сообщений: 1,193
|
|
02.04.2016, 20:25 | 11 |
Joey, 2-4 МБ - это вполне приемлемо. Вы сравните с Qt, там ради одной кнопки не менее 20 МБ приходится передавать либо в составе exe-шника, либо, что ещё хуже, в качестве отдельных dll-ок. А C#, который предполагает, что у вас должен быть установлен соответствующий Framework, да даже простейшие программы, написанные на VC++, без установки дополнений запускаться не будут. Время DOS-овских программ (20-200 КБ) прошло, так что придётся мириться...
К стати, я тоже не понимаю и не оправдываю, почему программа, написанная в С++Builder-6 или Delphi-6, имеющая в своём составе и графику, и БД "весила" не больше 1 МБ. Сейчас форма с кнопкой "весит" раза в полтора больше... У меня много "и других почему...". Например, почему цена нефти упала, а цена на бензин выросла... А пока, уважаемый Joey, порекомендовал бы вам использовать UPX, вот один из наиболее свежих и бесплатных:
0
|
392 / 191 / 48
Регистрация: 11.07.2013
Сообщений: 1,193
|
|
02.04.2016, 20:34 | 12 |
А вы считаете это нормальным? А если завтра появятся компы с десятками теробайт ОЗУ и с винтом более тысячи теробайт, то можно будет и "вес окна с кнопкой" делать гига так под два? Такое впечатление, что разработчикам компиляторов, как и авторам многих современных книг, стали платить не за содержание и качество, а за объём...
0
|
Джоуи
|
|
04.04.2016, 21:54 [ТС] | 13 |
Критиковать C# не могу, но завязка на фреймворк раздражает, напоминает Embrace, extend and extinguish)
Добавлено через 1 минуту Тайнейшая тайна для меня тоже)) Добавлено через 18 минут Суть не в том, чтобы сжать большую прогу, а чтобы небольшая прога с маленьким функционалом весила соответственно. Плюс еще: Да. Послушай volvo Действительно, зачем отказываться от чего-то, что с трудом создали многие программисты, при чем абсолютно безвозмездно, открыто (я про LCL) Добавлено через 2 минуты так что я услышал ответ на свой вопрос - "2 Мб должно хватить всем"))
0
|
04.04.2016, 21:54 | |
04.04.2016, 21:54 | |
Помогаю со студенческими работами здесь
13
Как уменьшить размер исполняемого файла, созданного в Delphi 7 (как использовать KOL) Где отключить Debug чтобы уменьшить размер исполняемого файла Как уменьшить размер exe-файла? Как уменьшить размер EXE файла? Почему размер исполняемого файла в Delphi XE2 меняется при каждом билде Уменьшить размер кода (считывание с ini файла) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|