Грамотно зменшуємо розмір exe-файлу

Багато, звичайно, знають, що без проблем зменшити розмір exe файлу можна, взагалі не використовуючи ніякі пакувальники і зовсім функціональність не змінюючи, шляхом видалення з таблиці exe самих тільки релокацій.

В о-перше, вона саме тим і цікава, що нам дозволяє створення таблиці релокацій повністю відключити.

Але в нимание! Від таблиці ні в якому разі н е відключайте релокацій в dll, bpl та інших файлах.

А та спользование самої директиви досить просте:

Спочатку про ткройте файл вашого проекту (dpr)

Далі додайте в uses Windows

Далі скомпілювати п випробуйте файл саме до додавання даної директиви. а також і після.

Після чого Ви переконає е с ь. що розмір самої exe відразу зменшився.

Як доповнення необхідно сказати, що саме використання SETPEFLAGS цим всім зовсім не обмежується.

Звісно ж ще маса різних можливостей.

Щоб п олучая повний список їх зробіть наступні дії:

Спочатку про ткройте модуль Windows

Далі шукайте в ньому за допомогою пошук а IMAGE_FILE_RELOCS_STRIPPED

Далі вже йде чималий список констант, які починаю т ся з IMAGE_FILE_

Ось хороший приклад:

IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED or

IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP>

Що ми зробив і тут?

IMAGE_FILE_RELOCS_STRIPPED - тут відрізав і релокі

IMAGE_FILE_DEBUG_STRIPPED - тут в ибросіл з ехе Debug саму інформацію

IMAGE_FILE_LINE_NUMS_STRIPPED - тут в ибросіл і з exe саму інформацію про номери рядків

IMAGE_FILE_LOCAL_SYMS_STRIPPED - тут в ибросіл і local symbols

IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP - Коли запуск аете exe з компакта, флешки, або ж інших пристроїв, потрібно вважати exe в свап і саме звідти запустити. Підійде. коли необхідно з компакта запустити програму, а потім вставити інший попросити.

IMAGE_FILE_NET_RUN_FROM_SWAP - ідентично попередній, але призначено винятково для мережевих дисків.