減小Delphi的Exe檔案大小
一般來說,由Delphi生成的EXE檔案,要比其由它程式語言生成的體積大一些。這主要是由於使用VCL的原因(當然,VCL是有許多優點的!)
以下是減小EXE檔案大小的幾種途徑:
01) 使用加殼工具(如 UPX,ASPack 等)
02) 使用 KOL
03) 不使用VCL來編寫程式
04) 使用 ACL (API 控制庫)
05) 使用 StripReloc
06) 去除運程除錯資訊與 TD32
07) 把允許的程式碼寫到 DLL 中
08) 不要在設計時把圖片放置在 Form 上,而是執行時載入
09) 使用被壓縮的圖片(使用JPG 而不用 BMP)
10) 在 DFM 檔案中減少屬性
(參考後面的連結 “怎樣使您的EXE檔案更輕便”)
11) Use the TStringList replacement by ~LOM~
Use the Minireg - TRegistry replacement by Ben Hochstrasser
01)
UPX 是一個免費、輕便、可擴充套件和高效能的可執行檔案加殼工具,支援多種不同的可執行檔案格式。它可以達到非常優秀的壓縮比,且可以非常快的解壓。
http://upx.sourceforge.net/
ASPack 是一款高階的Win32可執行檔案壓縮器,可以減小32位Windows程式的大小達70%。(ASPack的壓縮率提高了zip檔案格式產業標準10-20%) ASPack使得Windows 95/98/NT 程式與庫更小,降低了網路的傳輸量。它也可以在一定程度上保護程式免受那些非專業黑客的反向工程。壓縮後的程式在執行時基本上沒有什麼效能上的影響。
http://www.aspack.com/aspack.htm
{****************************************************************}
02)
KOL - (關鍵物件庫 Key Objects Library)是用於 Delphi 開發強大的32位Windows圖形使用者介面應用程式一套物件庫。它比用VCL進行開發可以使程式變得更小。
http://bonanzas.rinet.ru/
{****************************************************************}
03)
不使用VCL
如果您想要實現瘦小的EXE檔案,就不要使用VCL,Delphi 完全可以讓您通過呼叫WinAPI函式來實現Delphi 100%的豐富功能。
http://nonvcl.luckie-online.de/
http://www.erm.tu-cottbus.de/delphi/stuff/Tutorials/nonVCL/index.html
http://www.swissdelphicenter.ch/en/delphizeus
http://www.tutorials.delphi-source.de/nonvcl/
{****************************************************************}
04)
ACL (API 控制庫 API Controls Library)
純以API寫程式是完全可能的,但我希望達到兩個目的 —— 寫出瘦小程式和生成新的控制庫,在寫程式的時候,也就建立了我自己的TWinControl和全部標準的Windows控制類.
http://www.apress.ru/pages/bokovikov/delphi/index.html
{****************************************************************}
05)
StripReloc是一個免費的(GPL 許可協議) 命令列應用程式,用於移去Win32 PE格式檔案多餘的重配區段(".reloc") ,以減小它們的大小。大多數編譯器/連結程式(包括Delphi)會在EXE檔案裡寫入重配區段,但由於EXE檔案從不會重新部署,所以該區段只會浪費空間。
http://www.jrsoftware.org/striprlc.php
{****************************************************************}
06)
去除除錯資訊
Debug資訊會佔用一部分空間的,對於最終的發行版,完全可以不要這部分資訊 。
Delphi IDE選單
project-Options-Compiler - Debugging 與
project- Options - Linker - EXE and DLL options
去掉下面兩項,可以減少檔案的大小
"Include TD32 debug info" 與 "Build with runtime packages".
{****************************************************************}
08/09)
對於圖片
最好不要在設計期把圖片加到窗體,尤其是大的圖片,因為這樣以來,Delphi會把圖片也編譯到你的可執行檔案中去,從而增大EXE檔案的尺寸。建議在執行時,以程式碼的方式,實時的載入圖片。
{****************************************************************}
10)
怎樣使您的EXE檔案更輕便:
http://www.undu.com/DN970301/00000064.htm
{****************************************************************}
11)
TStringList replacement by ~LOM~
Minireg - TRegistry replacement
Trackback地址: http://www.yculblog.com/trackback/4/340843
以下是減小EXE檔案大小的幾種途徑:
01) 使用加殼工具(如 UPX,ASPack 等)
02) 使用 KOL
03) 不使用VCL來編寫程式
04) 使用 ACL (API 控制庫)
05) 使用 StripReloc
06) 去除運程除錯資訊與 TD32
07) 把允許的程式碼寫到 DLL 中
08) 不要在設計時把圖片放置在 Form 上,而是執行時載入
09) 使用被壓縮的圖片(使用JPG 而不用 BMP)
10) 在 DFM 檔案中減少屬性
(參考後面的連結 “怎樣使您的EXE檔案更輕便”)
11) Use the TStringList replacement by ~LOM~
Use the Minireg - TRegistry replacement by Ben Hochstrasser
01)
UPX 是一個免費、輕便、可擴充套件和高效能的可執行檔案加殼工具,支援多種不同的可執行檔案格式。它可以達到非常優秀的壓縮比,且可以非常快的解壓。
http://upx.sourceforge.net/
ASPack 是一款高階的Win32可執行檔案壓縮器,可以減小32位Windows程式的大小達70%。(ASPack的壓縮率提高了zip檔案格式產業標準10-20%) ASPack使得Windows 95/98/NT 程式與庫更小,降低了網路的傳輸量。它也可以在一定程度上保護程式免受那些非專業黑客的反向工程。壓縮後的程式在執行時基本上沒有什麼效能上的影響。
http://www.aspack.com/aspack.htm
{****************************************************************}
02)
KOL - (關鍵物件庫 Key Objects Library)是用於 Delphi 開發強大的32位Windows圖形使用者介面應用程式一套物件庫。它比用VCL進行開發可以使程式變得更小。
http://bonanzas.rinet.ru/
{****************************************************************}
03)
不使用VCL
如果您想要實現瘦小的EXE檔案,就不要使用VCL,Delphi 完全可以讓您通過呼叫WinAPI函式來實現Delphi 100%的豐富功能。
http://nonvcl.luckie-online.de/
http://www.erm.tu-cottbus.de/delphi/stuff/Tutorials/nonVCL/index.html
http://www.swissdelphicenter.ch/en/delphizeus
http://www.tutorials.delphi-source.de/nonvcl/
{****************************************************************}
04)
ACL (API 控制庫 API Controls Library)
純以API寫程式是完全可能的,但我希望達到兩個目的 —— 寫出瘦小程式和生成新的控制庫,在寫程式的時候,也就建立了我自己的TWinControl和全部標準的Windows控制類.
http://www.apress.ru/pages/bokovikov/delphi/index.html
{****************************************************************}
05)
StripReloc是一個免費的(GPL 許可協議) 命令列應用程式,用於移去Win32 PE格式檔案多餘的重配區段(".reloc") ,以減小它們的大小。大多數編譯器/連結程式(包括Delphi)會在EXE檔案裡寫入重配區段,但由於EXE檔案從不會重新部署,所以該區段只會浪費空間。
http://www.jrsoftware.org/striprlc.php
{****************************************************************}
06)
去除除錯資訊
Debug資訊會佔用一部分空間的,對於最終的發行版,完全可以不要這部分資訊 。
Delphi IDE選單
project-Options-Compiler - Debugging 與
project- Options - Linker - EXE and DLL options
去掉下面兩項,可以減少檔案的大小
"Include TD32 debug info" 與 "Build with runtime packages".
{****************************************************************}
08/09)
對於圖片
最好不要在設計期把圖片加到窗體,尤其是大的圖片,因為這樣以來,Delphi會把圖片也編譯到你的可執行檔案中去,從而增大EXE檔案的尺寸。建議在執行時,以程式碼的方式,實時的載入圖片。
{****************************************************************}
10)
怎樣使您的EXE檔案更輕便:
http://www.undu.com/DN970301/00000064.htm
{****************************************************************}
11)
TStringList replacement by ~LOM~
Minireg - TRegistry replacement
Trackback地址: http://www.yculblog.com/trackback/4/340843
相關文章
- Python 壓縮PDF減小檔案大小Python
- pdf檔案太大如何變小 減小pdf檔案大小最簡單的方法
- 減小APK大小APK
- 如何在Mac上減少PDF檔案大小Mac
- Docker的`COPY --chmod`可將映象檔案大小減少35%Docker
- 從 Gzip 壓縮 SVG 說起 — 論如何減小資原始檔的大小SVG
- delphi清理txt檔案多餘的空格
- 如何減小微信小程式程式碼包大小微信小程式
- 取證中exe檔案的分析
- Matlab生成.exe格式檔案Matlab
- 限制檔案大小及顯示檔案大小(正規表示式
- 怎麼把pdf檔案縮小?如何使用PDF Expert壓縮pdf檔案大小?
- 使用pyinstaller打包exe檔案教程
- pyinstaller打包python成.exe檔案Python
- 生成固定大小的隨機檔案隨機
- JavaScript限制上傳檔案的大小JavaScript
- Python 打包 windows 可執行的 exe 檔案PythonWindows
- python 將檔案大小轉換為human readable 的大小表示Python
- linux 中根據檔案的大小進行檔案的查詢Linux
- 使用PyInstaller打包檔案為exe程式
- 限制 Apache日誌檔案大小的方法Apache
- Python如何生成windows可執行的exe檔案PythonWindows
- Python將py檔案編譯為exe的方法Python編譯
- 減少Android APK的大小99.99%AndroidAPK
- Python教程:一篇檔案教你py檔案打包成exePython
- apache上傳檔案大小限制Apache
- PbootCMS上傳檔案大小限制boot
- php檔案上傳大小限制PHP
- 使用 pyinstaller 打包 py 檔案成 exe 程式
- EXE檔案結構及讀取方法
- go編譯靜態檔案到exeGo編譯
- LVM : 縮減檔案系統的容量LVM
- hadoop透過CombineFileInputFormat實現小檔案合併減少map的個數HadoopORM
- Linux檢視檔案大小的幾種方法Linux
- PG獲取檔案大小的幾種方式
- 微信小程式開發之——比較數字大小-配置檔案(2.4)微信小程式
- base64檔案大小計算
- linux 常用檢視埠,檔案大小Linux
- 【Addressable】Catalog檔案大小最佳化