C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Сборка проекта при изменении версии компонентов, Изменение в размере выполняемого exe
Admin
Отправлено: 07.06.2004, 09:14


Владимир

Группа: Администратор
Сообщений: 1190



Был проект на С++Builder6 с использованием компонентов
RxLib, FastReport.

Стало необходимо внести в него изменения
(в форму "О программе ...") smile.gif

После внесения изменений (только изменилось название и
уменьшилось несколько строчек описания программы)
откомпиленный exe увеличился c 2053 Кб до 2238 Кб
(на 185 Кб)

Решил перепроверить — скопировал заново проект из архива
(неизменённый старый bpr и др.) и откомпилил (Build) проект,
не внося никаких изменений, размер также увеличился на эти 185 Кб !

К сожалению, увеличение критическое, так как программа
распространяется на флоппи-дисках, и после создания инсталляции
с помощью Wise на дискету не влазит, переходить на поставку
на CD-ROM можно, но не хотелось-бы.

Стал вспоминать, чего за это время делал в Builder-e
Вспомнил — ставил библиотеку Polaris Library, а из-за этого
снес и поставил заново RxLib (их версию, она отличается от
стандартной)

1. Кто как считает — возможно ли из-за этого увеличение exe ?
(Вот черти из Polaris-a !)

Также интересен и другой вопрос.
В программе используется своя .lib библиотека часто используемых
функций (mylib.lib) ~ 230 Кб. Но в программе из нее используется
только пара функций. Решил создать библиотеку только из этой
пары функций — размер библиотеки уменьшился с 230 до 60 Кб.
Удалил из проекта старую библиотеку, удалил exe файл и все obj,
добавил в проект новую библиотеку 60 Кб, пересобрал (Build)
проект: .exe файл не изменился — 2238 Кб !!!

2. Получается wink.gif что Builder не включает в .exe весь .lib файл,
а по-умному включает из него только используемые функции ?!


Отредактировано Admin — 07/06/2004, 10:20
Георгий
Отправлено: 07.06.2004, 11:11


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



QUOTE
2. Получается  что Builder не включает в .exe весь .lib файл,
а по-умному включает из него только используемые функции ?!
Да, именно так. В exe включаются только те функции, на которые есть прямые или косвенные ссылки из функции main (WinMain).

Вернуться в Аспекты и идеология профессиональной разработки ПО