|
0 / 0 / 0
Регистрация: 19.06.2019
Сообщений: 3
|
|
RAD XE3+ Лишние 10Мб в приложении03.12.2019, 05:57. Показов 2597. Ответов 61
Метки нет (Все метки)
Помогите разобраться с приложениями в RAD 10.3
Суть в следующем: Имеется готовая программа, размер исполняемого файла – 13118 Кб, если удалить файл dproj и перекомпилировать проект заново, то создаётся новый файл dproj, и размер исполняемого файла становится 3138 Кб, лишние 9980 Кб (13118-3138). Берём другой проект размер исполняемого файла – 13238 Кб, после манипуляций 3258 Кб, опять лишние 9980 Кб. Создаем новый проект, одна кнопка по нажатию showmessage, размер exe – 11826 Кб, после манипуляции – 2296 Кб. Вопрос: Чего я лишусь в программе оптимизируя таким способом (на сколько я смог проверить разницы между маленьким и большим exe в функционале не нашёл)?
0
|
|
| 03.12.2019, 05:57 | |
|
Ответы с готовыми решениями:
61
Работа с файлами до 10мб Новый Transcend 1Tb 3.0, скорость 10мб! Файлы больше 10мб не загружаються,не могу найти причину. |
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
|
| 03.12.2019, 08:20 | |
|
Подозреваю, что это разница между Release и Debug версией. При удалении dproj изменяется тип exe-шника с дебажного на релизный.
0
|
|
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,347
|
|
| 03.12.2019, 09:01 | |
|
Либо, новый exe компилируется с использованием пакетов.
0
|
|
|
0 / 0 / 0
Регистрация: 19.06.2019
Сообщений: 3
|
||
| 04.12.2019, 03:14 [ТС] | ||
|
Разницы не увидел, а она скорее всего есть (не просто ж так RAD добавляет 10Mb к exe), хотелось бы узнать в чём её суть (в каких режимах работы приложения или с использованием каких компонентов появится разница в функционале между большим и маленьким exe), чтобы знать в каких случаях можно уменьшить размер исполняемого файла таким способом, а в каких – нет.
0
|
||
|
0 / 0 / 0
Регистрация: 19.06.2019
Сообщений: 3
|
||
| 04.12.2019, 05:05 [ТС] | ||
0
|
||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,347
|
||
| 04.12.2019, 05:48 | ||
|
У тебя этот маленький exe по прежнему в папке Debug лежит?
0
|
||
|
Модератор
|
|
| 04.12.2019, 06:06 | |
|
Да, действительно, притупил что-то...
![]() Суть "большого" файла в том, что по умолчанию исполняемый файл приложения создается в режиме Debug, т.е. к нему прицепляется так называемая отладочная информация. Она нужна на этапе проектирования и доведения проекта до ума... При сдаче проекта "в эксплуатацию" в ней, действительно, нет никакой необходимости - но для этого существует режим компиляции Release, который создает исполняемый файл без всей этой требухи... т.е. откомпилировав файл в режиме Release Вы получите примерно тот же размер, что и при удалении файла *.dproj... Но, удаляя этот файл, Вы теряете информацию об опциях Вашего проекта: информацию о версии продукта, к примеру... А если используете VCL-стили, то вообще будете при старте получать подобную ошибку хотя далее приложение будет функционировать нормально (хотя, тут еще спорный вопрос, глубоко не копал) Поэтому верный способ уменьшить размер ехе-файла - после всех отладок, тестовых прогонов и т.д., когда приложение функционирует как надо - просто перекомпилируйте его в режиме Release.
0
|
|
|
Модератор
|
||
| 04.12.2019, 06:08 | ||
|
0
|
||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,347
|
|
| 04.12.2019, 09:01 | |
|
0
|
|
|
Злостный нарушитель
10246 / 5673 / 1262
Регистрация: 12.03.2015
Сообщений: 26,284
|
||
| 04.12.2019, 09:14 | ||
|
Плюс в релизный балд добавляю кой-какие директивы и размер сокращается ещё на мегабайт! Обратите внимание на размеры:
0
|
||
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
||
| 04.12.2019, 09:17 | ||
|
0
|
||
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
||
| 04.12.2019, 10:24 | ||
|
0
|
||
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
||
| 04.12.2019, 10:40 | ||
|
дебажный режим по умолчанию, или производили какие то настройки?
0
|
||
|
Заблокирован
|
|
| 04.12.2019, 10:47 | |
|
А можно поставить KOL и тогда просто окно будет 14-20кб Ну и само приложение при максимальной навороченности не превысит 200кб
Но к этой библиотеке надо привыкнуть. И её визуальная часть, говорят не встаёт на новые версии делфи. Но вполне можно обойтись и без компонентов, создавая всё вручную.
0
|
|
| 04.12.2019, 11:07 | |
|
0
|
|
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,347
|
||
| 04.12.2019, 11:30 | ||
0
|
||
|
Заблокирован
|
|
| 04.12.2019, 11:56 | |
|
Для того чтобы понять почему такой огромный размер, есть отличные статьи.
Смысл такой. Делфи использует классы. которые отвратительно организованы. Программист использует классы, а в них куча ненужного кода. В классе вам нужна одна функция, но в программу попадает всё. Собственно такая же проблема со всеми современными языками. И C++ не исключение. Неужели никто ни разу не сталкивался с тем, что нужно ставить какие-то новые пакеты с библиотеками? Да, MS ведёт мощную поддержку языка C++ и его клонов. С Паскалем хуже. И поэтому все эту библиотеки приложения должны таскать с собой. Плюс отладочную информацию, которую в релизе отключают. Но и без неё есть выход. Пожалуйста, отключите все эти библиотеки и тогда размер резко сократится. Но работать всё это будет только на компе где эти библиотеки есть. Достаточно две огромне DLL воткнуть туда где остальные, чтобы система их нашла, и тогда никаких проблем. Можете писать для себя приложения с маленьким размером. Но если вы желаете распространять, то тут нужно просто уведомить о необходимости установки этих библиотек. И выложить их отдельно. Тот кто будет скачивать ваши проги, поставит себе эти библиотеки и сможет пользоваться любыми приложениями написанными в Делфи. Вопрос только о версиях. Библиотека KOL организована по-другому и поэтому может создавать код очень небольшой. Она работает и с лазарус. Единственное что плохого, автор уже положил на неё. И нет такой мощнойной поддержки. Классы KOL не использует. И поэтому нужно писать свои компоненты или модули, основанные на объектах. Но и того что есть вполне достаточно. Что касается юникода - он есть. Есть много интересных вещей. Реализован в каждом компоненте метод перетаскивания. То есть если даже на панель перетащить файл, Панель получит его адрес. Уже организован вывод текста с антиалисингом. То есть у букв плавные края. Единственное что нужно делать, это включать нужные функции. Если нужен юникод, нужно включить Если нужен int64 тоже... Но библиотека заточена под 32 разряда и windows. Но и это не проблема. Включить директиву только паскаль и тогда будет и 64 и кроссплатформенность.
0
|
|
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
|||||
| 04.12.2019, 12:01 | |||||
|
0
|
|||||
| 04.12.2019, 12:01 | |
|
Помогаю со студенческими работами здесь
20
На диске с базой осталось 10Мб, что можно сделать? Почему dll quake весит 1мб,плеер юнити-10мб, warcraft.dll-8мб Код который работает в консольном приложении в приложении Windows Forms выдает ошибку Лишние <a> Лишние if else Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|