Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

Оптимизация ??   Найти похожие ветки 

 
SPeller ©   (2002-06-30 06:39) [0]

Всем привет. Вот, начитался тут что КОЛ не включает код в ЕХЕшник если он нигде не вызывается. Тогда почему когда я прописал юсес на мой модуль с описанием объекта по всем правилам КОЛа размер ЕХЕшника вырос? Я этот объект нигде ниразу не вызывал, юсес там только на модули KOL и Windows. Что же это получается?


 
octy ©   (2002-07-01 07:36) [1]

Это вопрос немного даже философский :). Если обект прописывается, его будут использовать, а если нет - зачем прописывать. А ты не пробовал дальше свой объект просто инициализировать: выросла программа или нет?


 
octy ©   (2002-07-01 07:37) [2]

Это вопрос немного даже философский :). Если обект прописывается, его будут использовать, а если нет - зачем прописывать. А ты не пробовал дальше свой объект просто инициализировать: выросла программа или нет?


 
SPeller ©   (2002-07-01 09:25) [3]

Суть в том что код объекта вообще нигде не используется, зачем тогда этот код зашивается в экзе?


 
Gandalf   (2002-07-01 10:19) [4]

Я так понимаю, что описания самого объекта всеж таки в ехе идет (а также возможно и константы), но не используемые методы не идут. Хотя лучше услышать что скажет Кладов.


 
SPeller ©   (2002-07-01 14:49) [5]

Уважаемый Владимор Кладов! Ответьте хоть что-нибудь


 
HekTo   (2002-07-01 16:12) [6]

A в uses твоего модуля не было ссылок на что-нибудь вроде SysUtils или Classes ? И на сколько вырос размер exe-шника ?


 
Vladimir Kladov   (2002-07-01 16:47) [7]

>SPeller
>Тогда почему когда я прописал юсес на мой модуль с описанием >объекта по всем правилам КОЛа размер ЕХЕшника вырос? Я этот >объект нигде ниразу не вызывал, юсес там только на модули KOL и >Windows. Что же это получается?
>

Речь идет в основном о коде самого KOL. Каков был бы размер экзешника,если все, что есть в KOL, включилось бы в экзешник? Не знаете, и слава Богу. Я тоже не знаю. Но думаю, 500К было бы точно :)

> SPeller
> Суть в том что код объекта вообще нигде
> не используется, зачем тогда этот код зашивается в экзе?

У этого модуля есть свои uses, и компилятор также посмотрит и на них, неважно, используется что-либо из самого модуля или нет.
Если есть initialization / finalization в этом модуле, или в тех
модулях, которые перечислены в _его_ uses, то это иногда может быть достаточно, чтобы к программе подключились несколько сотен К байт.

Кроме того, в экзешник войдут все типизированные константы из этого модуля, и из всех, которые он использует, по нисходящей. Вот, кстати, возможная причина. Если была объявлена переменная описанного типа, то компилятор, возможно, добавил все, и все, что нужно для этого типа.

А так вопрос правда очень философский. Вычищайте ненужные модули из uses, и жить будет легче. А еще, перед финальным построением (Build)желательно выставить в проекте опции оптимизации, убрать отладочную информацию, и пройтись по всем директориям, где лежат dcu-файлы, и стереть их.


 
SPeller ©   (2002-07-01 18:19) [8]

Спаибо, объяснили что к чему. Объект мой - аналог TRegistry, с несколькоми специфическими ему типами. В uses модуля KOL и Windows, в uses проекта абсолютно то же самое (прога состоит из проекта и этого модуля, форм нет). а размер увеличивался по-моему с 16 до 20 с копейками Кб.



Страницы: 1 вся ветка

Текущий архив: 2003.04.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
4-54962
Afonya
2003-02-15 11:20
2003.04.17
Перехват сообщения вывода строки из консольного приложения


3-54440
TSa
2003-04-01 16:27
2003.04.17
Что лучше ???


3-54506
Гость
2003-03-30 23:18
2003.04.17
QReport - кто хорошо разбирается?


1-54566
spogi
2003-04-07 01:08
2003.04.17
Обычный, текстовой фал... (*.txt)


14-54838
hatchy
2003-03-31 10:25
2003.04.17
Браузер глючит....