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




Сжатие запускаемых файлов


Самый простой способ уменьшить размер приложения — использование программы для сжатия файлов. Лично я очень люблю ASPack , которую вы можете скачать в Интернете по адресу http://www.aspack.com или скопиро­вать с компакт-диска из директории Programs (файл установки называется ASPack.exe). Она прекрасно сжимает исполняемые файлы E ХЕ и динамиче­ские библиотеки DLL.

Запустите программу ASPack . exe , и перед вами откроется окно (рис. 1.1) приглашения к установке.

Достаточно выбрать путь, куда будут скопированы файлы, и нажать кнопку Start. Через пару секунд программа будет установлена на компьютере и запустится.

Рис. 1.1. Окно установки программы ASPack

Рис. 1.2. Главное окно программы ASPack

Главное окно программы (рис. 1.2) имеет несколько вкладок:

  • Open File;
  • Compress;
  • Options;
  • About;
  • Help .
  • На вкладке Open File есть только одна кнопка — Open . Нажмите на нее и выберите файл, который вы хотите сжать. Как только выбор сделан, про­грамма перейдет на вкладку Compress (рис. 1.3) и начнет сжатие.

    Рис. 1.З. Сжатие файла

    Сжатый файл сразу перезаписывает существующий, а старая (несжатая) вер­сия сохраняется на всякий случай под тем же именем, но с расширением bak . Возможность создания резервной копии можно отключить, но я не советую этого делать. Ниже будет дано подробное описание этой возможности.

    Настроек у ASPack не так уж много и расположены они на вкладке Options (рис. 1.4).

    Давайте рассмотрим, для чего они нужны.

  • Compress resources (Сжимать ресурсы) — если вы используете при напи­сании программ MFC и создаете в ресурсах диалоговые окна программ или храните там растровые картинки, то в исполняемом файле будет со­ответствующая секция достаточно большого размера. Из моей практики могу сказать, что больше всего места отнимают именно картинки, потому что они хранятся без сжатия. Если установить этот параметр (поставить галочку), то программа будет сжимать эту секцию.
  • Create backup copy (Создавать резервную копию) — перед началом про­цесса сжатия программа будет создавать резервную копию. Старое со­держимое будет располагаться в файле с таким же именем и в той же папке, но с расширением bak. Например, если вы сжимали файл mypro - gram.exe, то резервная копия будет иметь имя myprogram.bak.
    Я рекомендую вам всегда ставить этот флажок, потому что ASPack иногда ведет себя нестабильно, и программа может быть испорчена. В этом слу­чае вы можете восстановить старый файл из резервной копии с помощью обратной замены расширения bak на ехе. Если вы не ставите флажок, то я рекомендую самостоятельно делать резервную копию файла.
    Если у вас есть полный исходный код программы, то испорченный файл можно перекомпилировать. Но если вы сжимаете чужую программу, то без резервной копии восстановление невозможно, поэтому не надо соз­давать себе лишние проблемы.
    После того как программа произвела сжатие, проверьте ее на работоспо­собность. Чаще всего, если программа запустилась, то в дальнейшей ра­боте проблем не будет. Очень редко происходят ошибки при открытии определенных окон, но они бывают. Перед поставкой клиенту оконча­тельной версии тщательно протестируйте каждую возможность вашего продукта. Если вы создаете коммерческий проект, то вряд ли кому-то понравится сообщение об ошибке.



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