Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
7-54905
Александр Л.
2003-02-25 02:06
2003.04.17
Импорты в dll


1-54660
Alex Digy
2003-04-04 13:54
2003.04.17
Передача параметров процедуры в DLL


1-54683
AndrewK
2003-04-04 09:41
2003.04.17
Как переписать метод у класса, описанный у N-го его предка?


3-54490
elena
2003-03-31 10:42
2003.04.17
Компоненты для работы с dbf


14-54890
sashas
2003-04-02 12:45
2003.04.17
Компоненты...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский