Полный мануал по созданию компактного кода

Xakep, номер #037, стр. 037-073-3


Сразу лови пример. Если ты хочешь, чтобы в твоей программе были возможности работы с сетью, то тебе нужно подключить к нему библиотеку сокетов. Среди модулей WinAPI есть файл с именем winsock.pas. Значит, ты должен в раздел uses написать winsock (расширение писать не надо), и твоя программа сможет работать с сетью.

Пусть всегда будет...

Пока что я описал минимальный проект, в который можно добавлять свой код. Но код, который ты вставишь, выполнится один раз, и программа выгрузится из памяти. А что если тебе надо, чтобы твоя программа постоянно висела в окнах? Для этого используй следующий шаблон для своих прог:

program Project1;

uses Windows;

var

Msg: TMsg;

Begin

//Сюда можешь добавлять свой код

// Дальше идет код, который заставит прогу висеть в

// памяти вечно и не будет сильно грузить систему.

while GetMessage( Msg, HInstance, 0, 0) do

begin

TranslateMessage(msg);

DispatchMessage(msg);

end;

end.

Маленький код в Visual C++

Многие заблуждаются, говоря, что программы, созданные в Visual С++, уже получаются маленькими. Это действительно на 90% заблуждение. Сам язык С++ является объектным и страдает теми же недостатками, что и Delphi. Это значит, что именно на С++ код будет получаться очень большим.

Даже если ты создал новый проект и, откомпилировав его, получил очень маленький код, то это не значит, что программа получилась компактной. Реально твоя прога использует динамические библиотеки mfcХХ.dll. Здесь ХХ - это номер версии MFC (Microsoft Foundation Classes). Вся библиотека занимает около 2 мегов на диске. В результате твоя прога будет состоять из размера запускного файла плюс размер библиотеки MFC. Нехило? В Delphi тоже можно так мухлевать, если установить в свойствах проекта компиляцию с динамической загрузкой bpl (Borland Pascal Library) библиотек.

Чтобы реально создать маленький код на Visual C++, нужно также использовать только WinAPI и никаких объектов. Для этого при создании нового проекта ты должен выбрать тип "Win32 Application". В этом случае ты, как и в Delphi, ощутишь все прелести и корявости кодинга на WinAPI. Если ты до этого момента относился к Биллу параллельно, то после пары часов кодинга на WinAPI ты вступишь в партию ненавистников M$ :).

Сжатие программ

Если тебя не устраивает кодинг на чистом WinAPI, то твоим лучшим другом должна стать какая-нибудь прога для сжатия размера файлов. Я очень люблю ASPack, которую ты можешь забрать по адресу www.cydsoft.com/vr-online/download.htm. Она прекрасно сжимает запускные файлы .exe и динамические библиотеки .dll.

Я не буду объяснять установку ASPack, потому что там абсолютно ничего сложного нет. Только одно нажатие на кнопке "Next", и все готово. Теперь запусти установленную прогу и ты увидишь окно, как на рисунке 5. Главное окно состоит из нескольких закладок:

1. Open File

2. Compress

3. Options

4. About

5. Help

На закладке "Open File" есть только одна кнопка - "Оpen". Нажми на нее и выбери файл, который ты хочешь сжать. Как только ты выберешь файл, программа перескочит на закладку "Compress" и начнет сжатие.

Назад на стр. 037-073-2  Содержание  Вперед на стр. 037-073-4