|

Полный мануал по созданию компактного кода
Xakep, номер #037, стр. 037-073-2
Ручной кодиг в Delphi
Для того чтобы создать маленькую прогу в Delphi, нужно создать новый проект и зайти в менеджер проектов (меню View->Project Manager). Здесь нужно удалить все формы, чтобы остался только файл самого проекта (по умолчанию его имя Project1.exe). Никаких модулей в проекте не должно быть.
Теперь щелкни правой кнопкой по имени проекта и выбери из появившегося меню пункт "View Source" (или из главного меню Project выбери View Source). В редакторе кода откроется для редактирования файл проекта Project1.dpr. Если ты уже удалил все модули, то его содержимое должно быть таким:
program Project1;
uses
Forms;
{$R *.res}
begin
Application.Initialize;
Application.Run;
end.
Я удалил все визуальные формы и теперь могу скомпилировать абсолютно пустой проект. Я решил попробовать сделать это. После компиляции я выбрал из меню Project пункт "Information for Project1". Передо мной появилось окно с информацией о проекте.
В правой части окна должны быть описаны используемые пакеты. Мы все удалили, значит там точно должна красоваться надпись "None". А вот с левой стороны должна быть описана информация о скомпилированном коде. Самая последняя строка показывает размер файла, и у меня он равен 370688 байт. Ничего себе пельмень!!! Мы же ничего еще не писали. Откуда же тогда такой большой код?
Откуда ноги растут?
Давай разберем, что осталось в нашем проекте, чтобы обрезать все, что еще не обрезано. Сразу обрати внимание, что в разделе uses подключен модуль Forms. Это объектный модуль, написанный дядей Борманом, а значит его использовать нельзя. Между begin и end используется объект Application. Его тоже использовать нельзя.
Все накладки большого кода, даже у пустой проги, как раз и связаны с объектом Application. Хотя мы используем только два метода Initialize и Run, при компиляции в запускной файл попадает весь объект TApplication, а он состоит из сотен, а может и тысяч строчек кода.
Чтобы избавиться от накладных расходов, нужно заменить модуль Forms на Windows. А между begin и end вообще все можно удалять. Самый минимальный код проги будет выглядеть так:
program Project1;
uses Windows;
Begin
end.
Снова откомпилируй проект. Зайди в окно информации и посмотри на размер получившегося файла. У меня получилось 8192 байта. Вот это уже по-человечески.
Кодинг на WinAPI
Заготовка минимальной программы с использованием WinAPI готова. Теперь ты можешь смело добавлять свой код. Мне только надо объяснить тебе, какие модули можно подключать к своему проекту в раздел uses. Тут все очень просто и не займет много времени.
Если при установке Delphi ты не отключал копирование исходников библиотек, то перейди в диру, куда ты засандалил Delphi. Здесь перейди в папку "Source", затем в "Rtl" и, наконец, "Win". Вот здесь расположены исходники модулей, в которых описаны все API функции Windows. Именно эти модули ты можешь подключать к своим проектам, если хочешь получить маленький код. Если ты подключишь что-то другое, то я уже не гарантирую тебе минимум размера твоей проги (хотя есть и исключения).
Назад на стр. 037-073-1 Содержание Вперед на стр. 037-073-3
|