powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите каким exe-пакером можно спаковать exe vfp?
13 сообщений из 13, страница 1 из 1
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069467
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Скомпилировал я ехе. Вышел он 2.5 метра. И я подумал - сожму-ка я его ехе-пакером, помню были такие еще под ДОСом... Накачал тучу пакеров (mew11,upx302,asp_205pro) и все они отваливались сходу. Порадовал mew11 - спаковал до 20 кил . И еще asp приколол - жму паковать, а ён мне тут же - уже готово! Гляжу - и не пробовал даже паковать.

В то же время даже обычным zip упаковуеццо в 5 раз!

Мне не для защиты это нужно а тупо для уменьшения размера ехе-шнега (чтобы сеть меньше нагружать)

И еще интересно. Всю жисть считал что компилятор призван убирать коментарии... Гляжу я в ехе-шку, а там мои каменты в полный рост лежат. Может не все (как-то не стал уточнять уже), но прямо за * и лежат.

спасибо!

вфп9
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069495
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Командой PACK MEMO на всех *.SCX,*.MNX,*.VCX. Предварительно можно в них очистить поле Methods как раз для убирания комментариев.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069535
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускаю перед сборкой VFP9
Код: plaintext
1.
2.
use my.vcx excl
pack
use ...

В VFP6 такой проблемы нет.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069586
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KOИ еще интересно. Всю жисть считал что компилятор призван убирать коментарии... Гляжу я в ехе-шку, а там мои каменты в полный рост лежат. ...

Меню Project->Project info вкладка Project сними галку Debug Info
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069757
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XiTech Konxise - http://www.hieroglyphix.co.uk/konxise.php
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069772
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) упаковка форм и классов ничего не дали вообще
2) галка Debug Info - размер ехе-шнега уменьшилсо до 1,6Мб. Это уже что-то, но зипом и оно ужимаеццо до 350 кил... Еще бы подсказали чем это черевато или для чего оно надо?

А про этот XiTech Konxise - я уже на этом форуме находил, но там у них все очень платно :(. А скачать шаравару на 30 - дык там ТАКАЯ форма вылезла для заполнения что я сразу как-то сник? и вообще упаковщик недоступен для закачки, даже шароварной.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069836
Beresnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Refox II, Brand Level III уменьшит ваш размер раз в 5.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35069971
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять ерундой занимаешся Впрочем, пока сам шишек не набьешь, все-равно не дойдет

1) В настоящее время, размер файлов уже не имеет столь принципиального значения.

Посмотри, хотя бы, каковы по размерам Run-Time библиотеки FoxPro. Например, VFP9r.dll = 4,5 МБ. Ну, и какой смысл экономить 1...2 МБ на EXE, если тебе все-равно около 10МБ библиотек поддержки надо поставлять клиенту?


2) FoxPro - это интерпретатор, а не компилятор.

Это значит, что его откомпилированный код не является "окончательно откомпилированным". В смысле - это не есть "машинный код", который немедленно и исполняется без дополнительного "перевода". Готовый EXE сам себя "переводит" в "машинный код" в процессе работы. Интерпретирует собственный код

Как следствие, он содержит много пустого места, которое и ужимается архиваторами.


3) Что делает птичка Debug Info?

Файлы форм (SCX) и классов (VCX), по сути обычные DBF-таблицы. Просто с измененным расширением. Если открыть их как таблицы, то можно увидеть два поля: Methods и ObjCode.

Methods содержит исходный код событий и методов
ObjCode - откомпилированный код этих же самых методов

При компиляции (сборке) готового файла EXE файлы форм и классов включаются внутрь этого EXE. Разумеется, со всем содержимым. Однако реально исполняется, естесственно, только откомпилированное содержимое методов. Т.е. содержимое поля ObjCode.

А вот содержимое поля Methods в готовом EXE используется только для сообщения номера строки в которой произошла ошибка. Т.е. только для отладочной информации. Для работы собственно EXE это поле уже не нужно.

Так вот, снятие птички Debug Info приводит к тому, что содержимое поля Methods очищается при включении файла формы или класса внутрь EXE. Очищение происходит не в исходном файле, а только в той его копии, которая включается внутрь EXE.

В отношении файлов PRG все несколько иначе. Его откомпилированная копия - это файл с расширением FXP. Именно он и включается в готовый EXE. Разумеется, уже без каких-либо комментариев и исходного кода. Т.е. птичка Debug Info для него не имеет смысла, поскольку он и так не содержит отладочной информации.

В принципе, поскольку файлы форм и классов - это файлы DBF, то, теоретически, может происходить "разбухание" на записи помеченные как удаленные, но еще не удаленные, либо на "мусор" в мемо-полях. Для файлов DBF это лечится командой PACK. Но все дело в том, что упаковка файлов форм и классов происходит автоматически при их компиляции. Т.е. достаточно включить опцию "Recompile All Files", чтобы снять эту проблему.


4) Как уже говорилось, FoxPro - это интерпретатор, а не компилятор. Как следствие, готовый файл EXE содержит избыточный код и много пустот. При большом желании код интепретации можно оптимизировать и, как следствие, частично уменьшить размеры файла EXE. Хотя это означает, в том числе, модификацию Run-Time библиотек.

Именно этим и занимаются разные приложения типа Konxise и ReFox.


Короче, не стоит оно того. Ерунда это все... Я спокойно делал EXE размером в 50 МБ (с включенной внутрь базой данных). И ничего, работает...
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35070482
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, конечно, ерунда. Хотя, с другой стороны, в 2.6 приложение с рантаймом, русификатором для DOS и парочкой полезных утилиток влезает целиком на одну 1,2 МБ дискетку.
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35070513
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за разъяснение про Debug Info! Я что-то такое и подозревал.

Насчет размера ЕХЕ. Тут дело вот в чем - библиотеки я клиенту устанавливаю прямо в папку виндов. А вот на сам ехе у клиентов только ярлык, а сам он находится на расшаренном ресурсе сервака. Выходит при запуске файло бежит по сетке к клиенту и чем он больше размером, тем сами понимаете. Я не утверждаю что сие есть очень замечательный вариант, но для частых апдейтов - это супер!
Другой вариант - загрузчик, проверяющий обновление и тд и тп, но его еще ваять нужно, а времени на это нет пока что.

И по поводу Konxise - нашел на WASM версию 1.1, наверное устарела. Стоптала ехе до 600 кил, но тот не запускается в итоге.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35070649
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл EXE отличается от файлов с расширением COM тем, что при исполнении такого файла он целиком в оперативную память не загружается . Загружается только некий фрагмент, который собственно и исполняется в данный момент.

Попробуй посмотреть файловым монитором, какая часть EXE реально гоняется по сетке в процессе исполнения. Просто по объему. Я не проверял, но подозреваю, что он целиком на клиента для исполнения не перекачивается.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35071325
leonid_riga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМВ отношении файлов PRG все несколько иначе. Его откомпилированная копия - это файл с расширением FXP. Именно он и включается в готовый EXE. Разумеется, уже без каких-либо комментариев и исходного кода. Т.е. птичка Debug Info для него не имеет смысла, поскольку он и так не содержит отладочной информации.

Это не совсем так. Попробуйте откомпилировать один и тот же файл двумя способами
Код: plaintext
1.
compile MyProg.prg
compile MyProg.prg nodebug

4) Как уже говорилось, FoxPro - это интерпретатор, а не компилятор. Как следствие, готовый файл EXE содержит избыточный код и много пустот. При большом желании код интепретации можно оптимизировать и, как следствие, частично уменьшить размеры файла EXE. Хотя это означает, в том числе, модификацию Run-Time библиотек.

Именно этим и занимаются разные приложения типа Konxise и ReFox.
Насколько я знаю и Konxise и ReFox не оптимизуруют код, а ипользуют именно паковочные алгоритмы. В частности Refox в одном из вариантов использует зиповскую библиотеку ZLIB. При этом степень паковки обычно получается 5 - 10 раз, а на скорости работы практически не отражается.
...
Рейтинг: 0 / 0
Подскажите каким exe-пакером можно спаковать exe vfp?
    #35072755
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KOА про этот XiTech Konxise - я уже на этом форуме находил, но там у них все очень платно :(. А скачать шаравару на 30 - дык там ТАКАЯ форма вылезла для заполнения что я сразу как-то сник? и вообще упаковщик недоступен для закачки, даже шароварной.
Дык напиши - адрес в профиле есть. Восток всегда поможет Западу ;)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите каким exe-пакером можно спаковать exe vfp?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]