Если рассмотреть готовый PE-файл (например с помощью HexView), то там оказывается столько свободного места забитого нулями. Это все из-за того, что линковщики выравнивают сегменты на границы 0х1000, хотя PE-формат позволяет выравнивать на 0х200. Еще в файле тянеться куча "ненужных" сегментов: отладочная инф., доп. инф. и т.п.
Т.о. можно сократить размер файла выкинув "ненужные" сегменты и сдвинув оставшиеся сегменты. Но для этого нужно корректировать не только тело файла, но и PE-заголовок. В единичных случиях это проще и эффективнее делать в ручную.
Если рассмотреть готовый PE-файл (например с помощью HexView), то там оказывается столько свободного места забитого нулями. Это все из-за того, что линковщики выравнивают сегменты на границы 0х1000, хотя PE-формат позволяет выравнивать на 0х200. Еще в файле тянеться куча "ненужных" сегментов: отладочная инф., доп. инф. и т.п.
Т.о. можно сократить размер файла выкинув "ненужные" сегменты и сдвинув оставшиеся сегменты. Но для этого нужно корректировать не только тело файла, но и PE-заголовок. В единичных случиях это проще и эффективнее делать в ручную.
Есть несколько способов...01.11.01 23:34 Автор: Паша Федорцов Статус: Незарегистрированный пользователь
1. Если используешь MFC то иногда помогает в параметрах Project`а поставить Use MFC in a Shared DLL
Но тогда следует подумать и о совместимости, так, как Mfc<XX>.dll есть не на всех машинах
2. Линковка Release всегда меньше чем Debug
3. Petite.exe - неплохо сжимает такие экзешники
4. Если используеши в проге много BMP-шных ресурсов, то лучше передалать их в JPG с воспользоваться классом CPicture на www.sources.ru для воспроизведения. Мне однажды этот способ очень хорошо помог