Должен сказать, компилируется в P-Code, он должен быть где-то на вкладке «Создать» с дополнительными параметрами. Это уменьшает мой EXE-файл с 700 КБ до 200 КБ (большая разница). Затем выполните сокращение изображений/звука/других ресурсов, как предложили другие.
Также проверьте свои иконки! Некоторые значки могут занимать до 250 КБ НА КАЖДЫЙ ЗНАЧОК, и если у вас есть несколько форм с несколькими разными значками, это может складываться. Размер типичного современного значка составляет около 50 КБ, но может быть и больше, так как разные разрешения значков сохраняются для разных цветов и настроек отображения, поэтому в одном файле .ico значка у вас будет 4 изображения значка для отображения высокой графики, еще 4 для более низкого графического дисплея (256-битный цвет) и еще 4 для 16-битного цвета и т. д., и вы можете получить 16-20 изображений значков в одном файле .ico только для одной формы. Вы можете удалить изображения значков, такие как статические изображения, в серии изображений gif, их можно удалять кадр за кадром (или изображение значка за изображением в этом случае), а также можно удалить 16-битные и 256-битные параметры цвета.
Теперь, к моей следующей рекомендации, используйте директивы #IF для удаления любых текстов отладки/отчетности, которые есть в вашем приложении, которые никогда не будут видны ни одному из пользователей (строки, которые не нужны конечным пользователям) и/или любые дополнительные функции вы используете для тестирования/отладки или создания отчетов, которые не нужны конечному пользователю... вы можете удалить все это с помощью директивы #IF. Вы можете включать и выключать все свои директивы #IF (аргументы условной компиляции) одним выстрелом, установив постоянное логическое значение в окне свойств, дополнительную информацию об этом можно найти в одном из моих сообщений о директивах #IF и размере файла здесь. : Когда я использую условную компиляцию Аргументы в пользу исключения кода, почему размер файла VB6 EXE не меняется? (также есть много замечательных сообщений StackOverflow, описывающих, как выполнять условную компиляцию с использованием директив #IF THEN #ELSE #END IF, просто выполните поиск).
Наконец, к моей последней рекомендации, после того, как вы уменьшили размер файла в 3-4 раза, используя только компиляцию p-кода, вы можете уменьшить его еще в 3-4 раза, используя приличный EXE-компрессор! Таким образом, просто используя сжатие p-code и exe, я уверен, что вы можете уменьшить размер вашего 6-мегабайтного файла до 600 КБ (даже без какой-либо другой оптимизации, связанной с директивами #IF, файлами значков и другими изображениями/звуковыми ресурсами). Поскольку компиляция p-кода НЕ связана со сжатием, добавив сжатие exe, вы можете значительно уменьшить размер файла без потери расширения .exe. Используя хороший компрессор, я не говорю об изменении его на файл .zip или файл .rar или что-то еще. После сжатия он по-прежнему останется в виде .exe, но также будет сжат, и люди могут запускать его и использовать в обычном режиме, не замечая никакой разницы, поэтому, как только ваш exe выполняется, он распаковывается в память и загружается в память все на лету, и когда вы закрываете приложение, ничего не меняется (размер файла все тот же, маленький и сжатый). Версия PECompact с графическим интерфейсом — хороший вариант, она может быть даже доступна для некоторых размеров торрентов, + несколько бесплатных опций с точки зрения программ, которые это делают.
Подводя итог, сделайте компиляцию p-кода из вашего VB6, сделайте вкладки расширенного / раздела компиляции, посмотрите на разницу. Затем выполните каждую оптимизацию, перекомпилируйте и отметьте разницу в размере файла, и вы получите хорошее представление о том, какое влияние окажет каждое изменение. Повторяйте, пока не испробуете все варианты. Самые большие различия будут связаны с компиляцией p-кода и сжатием exe. Конечно, директивы resources/icons/#IF вы должны попробовать после параметров p-кода и сжатия, поскольку p-код и сжатие являются самыми простыми и, скорее всего, уменьшат размер вашего файла до 10% от его исходного размера (10 x разница вместе взятые).
Наконец, дайте мне знать, как вы ладите, мне любопытно, как это получается. Кроме того, p-код работает на всех компьютерах/компьютерах, которые имеют Visual Basic Runtime, так что на самом деле нет никакого подвоха. Говорят, код p-кода работает немного медленнее, чем обычный скомпилированный код, но разница настолько мала, что вообще не заметна. Учитывая, что ПК сейчас такие быстрые, разницу в скорости работы заметить еще труднее (гораздо более незначительной), чем это было, когда впервые вышел VB6, поэтому я действительно считаю его идеальным бесплатным обедом, особенно если размер файла важен. тебе.
Дайте мне знать, как это происходит, или если у вас есть какие-либо дополнительные вопросы. Ваше здоровье.
person
Erx_VB.NExT.Coder
schedule
02.06.2013
devenv.exe
— это не более чем заглушка и контейнер для остальных библиотек и языков. - person Deanna   schedule 03.06.2013