减小Delphi的Exe文件大小
生活随笔
收集整理的這篇文章主要介紹了
减小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
總結
以上是生活随笔為你收集整理的减小Delphi的Exe文件大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞鸽转载异步操作(二)
- 下一篇: Memcache参数