On the SciTE download page ( http://www.scintilla.org/SciTEDownload.html
) there is a link to:
"A single file executable called Sc1 (720K) does not need any DLL or properties files as these are linked into the executable."
What language is that written in? I downloaded the source code which is over 2 MB zipped and over 7 MB unzipped but the single exe is 720K.
Did they use a different language for this small, standalone exe? And how did they get the DLL files in there?
And what did they use for the GUI? Python, LUA, or MFC?
And is the Python interpreter and Lua interpreter embedded into the exe also?
The answer is on their download webpage: they used the UPX executable compressor. It very effectively compresses executables since contrary to zip it distinguishes data/code parts and handles them differently. The decompressor is quite small and embedded in the final exe; code and data are decompressed in memory on application startup. According to wiki, UCL and LZMA compression algorithms are used.
The scite source directory is 3Mb uncompressed, and is written in C++, python and lua. Properties files which don't come with the single exe are nearly 800kb, and the doc is 500kb. In fact, there is arround 1Mb of source code, which should generate an exe in the 1-5Mb range, which in turn is compressed by UPX into a 720kb file.