Вниз
Скачать: CL | DM;

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

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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1092827422
STARfish
2004-08-18 15:10
2004.09.05
Как получить message WM_vscroll не от формы, а от ScrollBox


1-1092850538
Реактор
2004-08-18 21:35
2004.09.05
Имитация клика мыши и нажатия кнопок.


1-1092818865
sergiant
2004-08-18 12:47
2004.09.05
Помогите с таймером и реестром новечку.


1-1092903159
Нати
2004-08-19 12:12
2004.09.05
Delphi-арихиватор


3-1092073056
Владимир
2004-08-09 21:37
2004.09.05
Ошибка в ADOQuery




   Наверх