Немного не по теме: сейчас активно занят разработкой одного проекта, потому, к сожалению, не писал новых статей некоторое время, за что прошу прощения, постараюсь исправиться, по возможности .
Далее по теме…
Многие, наверное, знакомы (а может и не многие) с такой замечательной директивой прекомпилятора {$SETPEFLAGS}. С помощью данной директивы можно более тонко настроить генерацию исполняемого exe-файла. Далее я опишу некоторые возможности, которые можно менять данной директивой.
Использование директивы {$SETPEFLAGS} очень простое:
Открываем файл проекта (dpr)
В uses добавляем Windows
Ниже прописываем {$SETPEFLAGS }
Самые интересные, с моей точки зрения, параметры:
IMAGE_FILE_RELOCS_STRIPPED – В exe не будет внесена секция с релоками (уменьшает размер exe)
IMAGE_FILE_DEBUG_STRIPPED – В exe не будет внесена Debug-информация
IMAGE_FILE_LINE_NUMS_STRIPPED – В exe не будет внесена информация о номерах строк
IMAGE_FILE_LOCAL_SYMS_STRIPPED – В exe не будут внесены local symbols
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP – При запуске exe с компакта, флэшки, других извлекаемых устройств, exe будет загружен в свап и запустится оттуда. Полезно, если нужно запустить программу с компакта, а потом попросить вставить другой…
IMAGE_FILE_NET_RUN_FROM_SWAP – аналогично предыдущей, только для сетевых дисков.
Полный список параметров с комментариями на английском можно получить открыв файл Windows.pas на 2182 строчке (в Delphi XE) или воспользовавшись поиском по файлу.
Если нужно включить несколько параметров то перечесляем их через or. Например: {$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or IMAGE_FILE_LINE_NUMS_STRIPPED}
Комбинируя данные параметры можно более детально настроить генерацию exe-файла.