Главная страница
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.013 c
11-54547
eSKey
2002-07-05 15:48
2003.04.17
Переход на KOL


3-54478
alxx
2003-03-30 15:54
2003.04.17
MouseTo... - по координатам мышки - запись.


4-54953
children
2003-02-18 20:56
2003.04.17
командная строка


3-54531
CAMOBAP
2003-04-01 08:44
2003.04.17
sql – запрос


3-54488
Совенок
2003-03-27 06:22
2003.04.17
Поля Formatted Memo