На каком языке написан Sc1.exe?

На странице загрузки SciTE ( http://www.scintilla.org/SciTEDownload.html) есть ссылка на:

"Один исполняемый файл с именем Sc1 (720 КБ) не требует каких-либо DLL или файлов свойств, поскольку они связаны с исполняемым файлом".

На каком языке это написано? Я скачал исходный код, размер которого превышает 2 МБ, а более 7 МБ - в разархивированном виде, но единственный исполняемый файл - 720 КБ.

Они использовали другой язык для этого маленького, автономного exe? И как они получили файлы DLL там?

И что они использовали для графического интерфейса? Python, LUA или MFC?

И встроен ли интерпретатор Python и Lua в exe-файл?

Спасибо!

1 ответ

Решение

Ответ на их странице загрузки: они использовали исполняемый компрессор UPX. Он очень эффективно сжимает исполняемые файлы, поскольку в отличие от zip он различает части данных / кода и обрабатывает их по-разному. Декомпрессор довольно маленький и встроен в конечный исполняемый файл; код и данные распаковываются в памяти при запуске приложения. Согласно вики, используются алгоритмы сжатия UCL и LZMA.

Исходный каталог scite содержит 3 Мб несжатого файла и написан на C++, python и lua. Файлы свойств, которые не поставляются с одним exe-файлом, имеют размер около 800 КБ, а документ - 500 КБ. Фактически, существует около 1 МБ исходного кода, который должен генерировать исполняемый файл в диапазоне 1-5 МБ, который, в свою очередь, сжимается UPX в файл размером 720 КБ.

Другие вопросы по тегам