Программирование на C++ глазами хакера



Без окон, без дверей...


Следующий способ уменьшить размер программы заключается в ответе на вопрос: "Из-за чего программа, созданная в Visual C++, получается боль­шой?" Ответ очень прост, C++ является объектным языком. В нем каждый элемент представляет собой объект, который обладает своими свойствами, методами и событиями. Любой объект вполне автономен и многое умеет делать без ваших указаний. Это значит, что вам нужно только подключить его к своей форме, изменить нужным образом свойства, и приложение гото­во! И оно будет работать без какого-либо прописывания его деятельности.

Но в объектном программировании есть и свои недостатки. В объектах реа­лизовано большое количество действий, которые вы и пользователь сможете производить с ним. Но реально в любой программе мы используем два-три из всех этих свойств. Все остальное — для программы лишний груз, кото­рый никому не нужен.

Но как же тогда создать компактный код, чтобы программа занимала минимум места на винчестере и в оперативной памяти? Тут есть несколько вариантов.

  • Не использовать библиотеку MFC (для любителей Borland Delphi это библиотека VCL ), которая упрощает программирование. В этом случае придется весь код набирать вручную и работать только с WinAPI ( Win ­ dows Application Programming Interface , прикладной программный интер­фейс). Программа получается очень маленькой и быстрой. Результирую­щий код будет меньше, чем при использовании MFC в сочетании с самым большим сжатием. Но таким образом вы лишаетесь простоты визуального программирования и можете ощутить все неудобства про­граммирования с помощью чистого WinAPI.

    Для большей оптимизации размера файла можно использовать Assembler , но он слишком сложен, да и писать программу на нем намного дольше, чем даже на чистом С. Именно поэтому данная тема не рассматривается в этой книге.

  • Сжимать готовые программы с помощью компрессоров. Объектный код сжимается в несколько раз, и программа, созданная с использованием MFC , может превратиться из монстра в 300 Кбайт в скромного по разме­рам "зверя", занимающего на диске всего 30—50 Кбайт. Главное преиму­щество состоит в том, что вы не лишаетесь возможностей объектного программирования и можете спокойно забыть про неудобства WinAPI.



  • Содержание  Назад  Вперед