Головна » Статті » Технології » 10 клас |
LAZARUS: зменшуємо розмір виконуваного EXE-файлу Якщо ви довго працюєте з Lazarus, то напевно вже помітили, що розміри створюваного EXE-файлу програми достатньо великі (4-14 мБайт), хоча за функціональністю програми досить прості. Аналогічні програми, набагато складніші за функціональністю, які ми часто бачимо в Інтернеті, мають значно менші розміри (від кількох сотень кілобайт до 1-2 мегабайт). Чи можна якимось чином зменшити розміри створеної нами програми? Звісно, так. Скористаємось порадами, знайденими тут: http://grafika.me/node/53. Насамперед, пропонується ПЕРЕД КОМПІЛЯЦІЄЮ ПРОГРАМИ (перед її запуском) внести певні зміни в налаштування компілятора (нагадаємо, компілятором є програма, яка на основі розробленого нами проекту створює виконуваний файл з розширенням EXE). Для цього в меню середовища Lazarus відкриємо Параметри проекту: Тепер перейдемо в розділі Параметри компілятора на вкладку Compilation and Linking і виставимо вказані прапорці (Розумна компіляція і Розумне компонування): Після цього відкриємо вкладку Налагоджувальні дані і виставимо такі прапорці: Залишилось натиснути кнопку Гаразд для затвердження внесених змін. Після таких налаштувань отриманий в результаті компіляції EXE-файл буде справді меншим у кілька разів (наприклад, у нас він зменшився від 14 до 2 мБ). Крім того, можна додатково видалити відлагоджувальну інформацію з виконуваного файлу (використавши програму strip.exe) та переупакувати файл (програмою upx.exe). Програми попередньо потрібно розмістити у одній папці з проектом, взяти їх можна ТУТ. Втім, чи потрібно це робити - вирішувати вам. Не забудьте, що у створеному Lazarus EXE-файлі розміщуються не тільки машинні коди, але й графічні зображення (а також, можливо, й аудіофайли, які ви можете сюди упакувати). Звісно, розмір EXE-файлу напряму залежить від розміру вставлених об'єктів. Проіллюструємо це простим прикладом. Створимо просту програму з розміщеного на формі зображення (444*333 пікселі) : НЕ ВСТАВЛЯЮЧИ у порожню рамку Image зображення, відкомпілюємо проект (з наведеними вище налаштуваннями) і отримаємо EXE-файл об'ємом 1833 кБ: До речі, звернемо увагу, що після компіляції у папці проекту з'явився файл з розширенням DBG з налагоджувальною інформацією розміром 12832 кБ (приблизно 13 мБ) - це результат оптимізаційних налаштувань (розширення DBG - скорочення від англійського debugging, налагоджування). Завантажимо тепер у компонент Image фотографію розміром 5,6 мБ у форматі BMP розмірами 1600*1200 (ми спеціально взяли нестиснуте растрове зображення, щоб краще продемонструвати збільшення розміру виконуваного файлу). Звісно, використаємо властивість Stretch=true, щоб фото вписалось у рамку. Після компіляції проекту отримаємо EXE-файл об'ємом 7458 кБ, тобто об'єм файлу зріс рівно на об'єм вставленого BMP-зображення: Перевіримо тепер, чи впливають на розмір EXE-файлу наші попередні оптимізаційні налаштування. Знімемо (вимкнемо) в налаштуваннях проекту (як було сказано раніше) лише один прапорець: Використовувати зовнішній файл DBG. Тепер знову перекомпілюємо вже готовий проект, нічого у ньому не змінюючи, і (ОГО!) отримаємо розмір EXE-файлу 20288 кБ (тепер до EXE-файлу додалась і налагоджувальна інформація з DBG-файлу). Замінимо тепер зображення BMP таким же, але стиснутим JPG-зображенням (не змінюючи розміри 1600*1200 пікселів), виставимо попередні оптимізаційні налаштування і знову перекомпілюємо проект; в результаті отримаємо EXE-файл об'ємом лише 2189 кБ: Як бачимо, лише заміна формату зображення BMP на JPG дала зменшення розміру виконуваного файлу на 5 мБ. Якщо ж ми тепер згадаємо, що ми вписуємо у рамку розміром 444*333 пікселі зображення розміром 1600*1200 пікселів, то зрозуміємо, що повної оптимізації можна досягнути, ЗМЕНШИВШИ РОЗМІРИ ЗОБРАЖЕННЯ ВІДПОВІДНО ДО РОЗМІРІВ РАМКИ. Зменшимо нашу фотографію до розмірів 444*333 і завантажимо це зображення в Image. Візуально це не приведе до яких-небудь змін: Однак після компіляції переконаємось, що розмір EXE-файлу став ще меншим (1875 кБ): Зі всього сказаного можна зробити такі висновки: щоб розмір вашого EXE-файлу був якомога меншим, правильно налаштуйте середовище Lazarus і вставляйте в компоненти Image зображення, які відповідають розмірам цього компоненту. | |
Переглядів: 1952 | Рейтинг: 0.0/0 |
Всього коментарів: 0 | |
|
Категорії разділу | |
---|---|
|
Пошук |
---|
Книга подяк |
---|
Статистика |
---|
Зараз онлайн: 1 Ще хворих: 1 Наших пацієнтів: 0 |
Форма входу |
---|
Радимо відвідати |
---|