2013-11-25 63 views
0

在賽特下載頁面(http://www.scintilla.org/SciTEDownload.html )有一個鏈接:Sc1.exe是用什麼語言編寫的?

「之稱Sc1的(720K)的單個文件,可執行文件不需要任何DLL或屬性文件,因爲這些被鏈接到可執行文件。」

寫什麼語言?我下載了超過2 MB壓縮的源代碼,超過7 MB解壓縮,但單個exe是720K。

他們對這個小型的獨立exe使用不同的語言嗎?他們是如何得到那裏的DLL文件的?

他們用於GUI的是什麼? Python,LUA還是MFC?

而且是Python解釋器和Lua解釋器嵌入到exe中嗎?

謝謝!

+0

他們並沒有真正「把dll文件」放在那裏,而是靜態地將它們的exe與外部依賴關聯起來。但是,這將增加exe的大小,所以它不能回答你的問題;) – Antoine

回答

0

答案是在他們的download webpage:他們使用UPX可執行壓縮機。它非常有效地壓縮可執行文件,因爲與zip相反,它區分數據/代碼部分並以不同方式處理它們。解壓縮器非常小,並嵌入到最終的exe中;代碼和數據在應用程序啓動時在內存中解壓縮。根據wiki,使用UCL和LZMA壓縮算法。

scite源碼目錄是3Mb未壓縮的,用C++,python和lua編寫。沒有附帶單個exe的屬性文件接近800kb,文檔爲500kb。實際上,有大約1Mb的源代碼,它應該在1-5Mb範圍內生成一個exe文件,然後由UPX壓縮成一個720kb文件。

+0

那麼是Python解釋器和Lua解釋器嵌入到exe中嗎? – user390480

+1

Lua嵌入,但它很小。 Python是一種構建時間依賴性,腳本用於準備構建並自動化一些源代碼操作,因此不會嵌入。 – Antoine

+0

謝謝@Antoine,這真的很酷。你碰巧知道他們用什麼來創建GUI?我無法在他們的網站上找到它。 – user390480