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

Вниз

размер исполняемого кода   Найти похожие ветки 

 
Alek Aaz ©   (2004-03-26 05:19) [0]

Подозрительно уменьшился размер исполняемого кода создаваемых программ в Delphi 5. Простая форма, без VCL элементов "тянет" на 13.4 кБайт. Без всяких KOLов и т.п.
В той-же Delphi 7 (стоит на работе) такая же форма "тянет" на 360 кбайт.
Получилось это случайно.
Выпимши пива, в очередной раз ставил дома пакеты от GLScene, и случайно снес в Tools/Environment Options/Library/Library Path
C дури, скопировал строчку из Tools/Environment Options/Library/Browsing Path - не помогло, добавил $(DELPHI)\Lib При компиляции компилятор что-то ляпнул про невозможность включения файла ????.obj (ну не помню я точно, знал бы - записал). Дальше все ОК. Програмки пишутся, работают, но размер на ~300 кб меньше положенного.
Так как дело это нужное и полезное, решил раскопать в чем дело.
Собственно вопросы, может кто скажет что умное:
1. Что за файл ffm?.obj Упоминается в исходниках SysUtils.pas но его в дистрибутиве нет. (может именно его и не смог включить компилятор?)
2. Новые программы создаются на ура, а вот старые перекомпилировать не удается. Компилятор ругается на отсутствие файла из вопроса 1. Как компилятор узнает, что нужно перекомпилировать все модули(где запоминаюся параметры версий модулей)? Почему, при создании новой программы он их не перекомпилирует?
3. Попытка сделать что-то подобное на Delphi 7 (добавить путь из Browsing Path в Library Path)  наполкнулась на интересный глюк - выдается ошибка о рекурсии [Fatal Error] Variants.pas(1024): Program or unit "Variants" recursively uses itself При беглом просмотре ничего подобного нет. Объясните плиз почему, я не понимаю.
4. Можно-ли посмотреть структуру программы? Что находится в недостающем блоке программы? Чего собственно она лишилась и насколько это опасно? Могу выслать exe-шник.

Если это безопасно, можно вырабатать какую нибудь методику по уменьшению размера программ без использования KOL, WinAPI и упаковщиков.


 
Владимир Кладов   (2004-03-26 07:38) [1]

а теперь отнесите этот экзешник на компьютер, на котором не установлен Delphi.


 
Alek Aaz ©   (2004-03-26 09:45) [2]

Попробую.


 
Dimaxx ©   (2004-03-26 21:58) [3]

Судя по всему, включился режим "зависимой" компиляции. То есть зависимость от vcl50.bpl и иже с ними. Тогда размер действительно маленький.


 
SPeller ©   (2004-03-27 08:00) [4]


> Если это безопасно, можно вырабатать какую нибудь методику
> по уменьшению размера программ без использования KOL, WinAPI
> и упаковщиков.

Писать на чистом ассемблере, MASM, TASM и им подобные.
:)


 
Alek Aaz ©   (2004-03-27 16:58) [5]

Попробовал.
Вопрос снят.



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

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

Наверх




Память: 0.45 MB
Время: 0.045 c
3-1092128046
Sir John
2004-08-10 12:54
2004.09.05
Как передать результат запроса клиенту?


1-1093110577
Ragazor
2004-08-21 21:49
2004.09.05
Delphi & 1C


11-1079976171
Delphi5.01
2004-03-22 20:22
2004.09.05
procedure CreateKOLControl(Recreating: boolean); override;


3-1092032920
Korvin
2004-08-09 10:28
2004.09.05
Изменение списка полей в TTable


1-1092748079
Brain Force
2004-08-17 17:07
2004.09.05
Альтернатива DriveComboBox + DirectoryListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский