2013-11-25 2 views
0

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

«Единый исполняемый файл называется Sc1 (720K) не нуждается в каких-либо DLL или файлы свойств, поскольку они связаны между собой в исполняемый файл.»

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

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

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

И является ли интерпретатор Python и интерпретатором Lua встроенным в exe?

Спасибо!

+0

Они действительно не «помещали файлы dll» там, но статически связывали их exe с внешними зависимостями. Но это увеличит размер exe, чтобы он не ответил на ваш вопрос;) – Antoine

ответ

0

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

Исходный каталог исходных текстов 3.0 MB без сжатия и написан на языках C++, python и lua. Файлы свойств, которые не поставляются с одним exe, составляют около 800 кб, а документ - 500 кб. На самом деле, есть arround 1Mb исходного кода, который должен генерировать exe в диапазоне 1-5Mb, который, в свою очередь, сжимается UPX в файл 720kb.

+0

Так и интерпретатор Python и интерпретатор Lua, встроенный в exe? – user390480

+1

Lua встроен, но он довольно маленький. Python - это зависимость времени сборки, а скрипты используются для подготовки сборки и автоматизации некоторых манипуляций с исходным кодом, поэтому нет, она не встроена. – Antoine

+0

Спасибо @Antoine, что действительно круто. Вы случайно не знаете, что они использовали для создания графического интерфейса? Я не могу найти это на своем сайте. – user390480