Что нового

Соревнование по уменьшению размера скомпилированного скрипта

ak40u

Знающий
Сообщения
33
Репутация
7
Предлагаю такой конкурс:
Нужно уменьшить размер .exe скрипта:
Код:
MsgBox(0, "Msg", "")



У меня получилось 246кб

 

Suppir

Продвинутый
Сообщения
967
Репутация
62
С помощью стандартного упаковщика или любого?
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Полагаю что любого, т.к. стандартным показатель особо не собьёшь(=
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724

Suppir

Продвинутый
Сообщения
967
Репутация
62
Ах, шайтан! А я как раз его качал :smile: Хотел то же самое сделать :smile:))


К слову. Может ли PB быть чем-то полезен по сравнению с AutoIt кроме скорости и маленького exe? Где ты его используешь?

Я пробовал PB полгода назад. Язык очень похож на AutoIt, но обладает более высокой скоростью - сопоставимой с perl или c#. Создаются маленькие exe-шники. Но при этом не понравилось:
- функции для работы с текстом. Например, регулярные выражения необходимо прекомпилировать(как в Python);
- не совсем понятная система декларирования переменных, с ходу не удалось разобраться;
- самый главный момент - PureBasic платный, на работе не могу его использовать :(
- ...
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
ak40u сказал(а):
Важен только размер.

размер .exe = размер AutoIt3.exe + размер .au3

200-300 КБ, это и есть минимальный размер .exe в AutoIt. А в чем собственно проблема? Вы так сильно обеспокоины лишними 250 КБ? Это копейки в наше время, не стоит на это обращать внимание. Куда более важно, сколько программа требует памяти...

Suppir сказал(а):
Где ты его используешь?

Мне совсем не нравиться PureBasic. С типами просто полный бардак. Я его в основном использую для написания DLL с несколькими потоками. А сам DLL использую в AutoIt.
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied [?]
Мне совсем не нравиться PureBasic. С типами просто полный бардак. Я его в основном использую для написания DLL с несколькими потоками. А сам DLL использую в AutoIt.

У меня была такая же мысль его использовать - чтобы на dll положить какие-нибудь сложные расчеты.
Но демо-версия PureBasic не позволяет делать dll. Придется кракнутую юзать :-\
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
OffTopic:
У них, как я понимаю, нет крякнутых версий: либо Demo, либо Full. Так что все в порядке. Только ты лишишься оффициальной поддержки.


А вообще, этот PureBasic настолько мутный, что после него очень сложно перейти на "нормальный" ЯП. Чего не скажешь об AutoIt.
 
Автор
A

ak40u

Знающий
Сообщения
33
Репутация
7

В чем подвох? Старая версия Автоит?


200-300 КБ, это и есть минимальный размер .exe в AutoIt. А в чем собственно проблема? Вы так сильно обеспокоины лишними 250 КБ? Это копейки в наше время, не стоит на это обращать внимание. Куда более важно, сколько программа требует памяти...

Я любитель маленьких размеров.)
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied
Где-то видел версию PB старую, ломаную, но работающую.

Однако ж на работе не могу ее поставить, вдруг проверка. Так что придется c# для создания dll изучать.
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
Имхо, если скрипт занимает 5 Кб или 300 Кб, то разницы особой нет. А вот если один скрипт работает в 10 раз быстрее, чем другой - вот это как раз и важно!
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
ak40u

Нет, если серьезно, то IMHO, это действительно не является проблемой. Подумайте, что вы получаете взамен: возможность запуска любого .au3 без наличия AutoIt3.exe, такие функции, как Execute() и т.д. И все это при том, что AutoIt не является компилятором в полном смысле этого слова. AutoIt - интерпритатор. Более того, речь идет о минимальном размере исполняемого файла. 300 КБ - это и есть минимальный размер файла. При увеличении кода, размер .exe будет уже увеличиваться соответственно самому скрипту (.au3).

С другой стороны, обычно прграмма не состоит только из MsgBox(). Практически во всех ЯП народ использует готовые библиотеки (на чистом API давно уже никто не пишет, не рентабельно). Один только Microsoft Visual C++ 2008 Redistributable Package чего стоит. Поэтому размеры программ, как правило, растут как на дрожжах и могу легко переплюнуть AutoIt. Так что на мой взгляд, все это пустое...

Suppir

Да, скорость наиболее важна, но как раз здесь AutoIt не впереди планеты всей.

:(
 
Верх