delphi 2010编译exe文件大小

Delphi XE8 程序瘦身.编译后EXE最低90KB. 目前网络上 XE8程序瘦身基本为XE5以前的方法,虽然该方法也必须援用之前方法.但需要说明一下,现在release比debug瘦身效果相差无几.我的XE8单独窗体EXE文件为11056KB.瘦身后exe文件最低可以达到 90KB. 下面是方法介绍. 第一步:关闭debug infomation. 打开工程后,依次点击project--option--delphi compiler--link 阅读详情

一、体积测试、比较

 环境: delphi2010 +  vclskin5.4 + dev5.0

  1、delphi2010 单窗口

           796KB

  2、delphi2010 单窗口 + button + text

           820KB

  3、delphi2010 单窗口 + vclskin                                                                        

          1.13MB(不加载skin文件),    1.16(加载skin文件)

 

  4、delphi2010 +  vclskin5.4 + dev5.0( cXbutton + cXtext)

          1.8MB

  5、delphi2010 +  vclskin5.4 + dev5.0( cXbutton + cXtext + cxGrid)

          4.18MB   ------

 

   6、delphi2010 +  vclskin5.4 + dev5.0( cXbutton + cXtext + cxGrid )   +fastReport

           5.67M  to   6.67MB

 

二、原因

 1、delphi2010使用的wideString和RTTI

    wideString使字符串长度变成了原来的2倍,但增长体积是有限的

    RTTI是主要原因

 

2、dev

    a、使用了skin

         5.0版本当使用了QtGrid,会自动引入cxLookAndFeels, cxLookAndFeelPainters

         有时候将unit中skin都去掉效果不大,可以重新安装dev,安装时候不选skin,可以省下2M

    b、使用了print

        5M to   9M

         

 

三、减小delphi体积的方法

 1、关闭RTTI反射机制

    自从Delphi2010中引入了新的RTTI反射机制后,编译出来的程序会变得很大,这是因为默认情况下 Delphi2010 给所有类都加上了反射机制。而我们的工程并不每每都需要使用到这个功能,所以对于不需要使用的地方,我们可以简单的用下面的方法禁用RTTI反射,从而大大减小文件体积。

    禁用的方法很简单,就是要在工程(dpr文件中。Delphi2010下项目文件是dproj文件,但dpr文件仍然是默认的编写代码的项目文件)的Uses语句前添加下面的定义就可以了:

    { Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }
    {$IF CompilerVersion >= 21.0}
    {$WEAKLINKRTTI ON}
    {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
    {$IFEND}

 

         -------------实测,1.1环境下,文件大小为750KB;

                                  1.2环境下,774KB;

                                  1.3环境下,大小为1.10MB(加载skin文件)

   英文:http://www.zipplet.co.uk/index.php/content/articles_programming_delphi2010rtti

2、关闭debug信息 (默认已关闭)

   Project -> Options -> Linking -> Debug information -> disabled

 测试:

   disabled:11.6MB

   an  disabled:31.2MB

 

 

 

 

四、其它方法

1、减小DELPHI应用程序的大小

        http://hi.baidu.com/51elv/blog/item/5637a5cff0ef1431f8dc6124.html

 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

 

 

五、其他文章

dev编译exe

http://www.devexpress.com/Support/Center/p/Q243794.aspx?searchtext=cxLookAndFeels&p=T1|P0|0

 

Delphi反编译实战:从EXE黑盒到可读代码的完整指南 软件逆向工程是理解、分析和重构已编译程序内部逻辑的关键技术,其核心原理在于通过静态与动态分析手段,解析二进制文件的指令、数据结构和执行流程。这项技术的工程价值在于能够恢复丢失的源代码、进行安全审计、漏洞挖掘以及遗留系统的维护与二次开发,广泛应用于软件维护、安全研究和数字取证等领域。本文聚焦于Delphi语言生态,深入探讨如何利用IDR等工具链对编译后的Windows桌面应用进行反编译与重构,重点解析PE文件结构分析、RTTI信息提取和Pascal伪代码生成等核心环节,并结合实际案例演示如何从可执行文件中恢复 阅读详情

相关推荐

使用Delphi2010开发CHM文件制作工具

hhc.exe(HTML Help Workshop Compiler)是微软提供的一款用于创建编译HTML帮助文件(CHM)的工具。CHM文件因其小体积和便于分发的特点,被广泛用于软件文档和帮助系统的生成。hhc.exe可将HTML页面、图像和其他资源编译成一个单一的、可搜索的、有索引的CHM文件。hhc.exe的主要功能包括:支持将多种HTML文档编译成一个CHM文件。提供编译过程中的各种选项配置,如编译警告的开关、错误处理等。

weixin_34535286的博客 1107

减小Delphi XE5编译出来的程序体积

默认DelphiXE5编译出来的程序体积很大。 一般用两个方法可以很大程度上减少程序体积。 一、在工程中用编译指令禁用RTTI 禁用的方法很简单,就是要在工程的Uses语句前添加下面的定义就可以了: {ReduceEXEsizebydisablingasmuchofRTTIaspossible(delphi2009/2010)} ...

weixin_30617695的博客 276

VCLSkins动态库版本的使用

主要讲解皮肤的应用,如何使用动态库来改变界面的样式。

为什么delphi编译生成的exe文件这么大

delphi 编译生成的 exe 文件,占用磁盘字节数比较大的原因在于,delphi 编译的文件中包含有其他的数据信息更多。 以下在 delphi xe 10 中,建立一个只包含空窗体的工程,通过多种配置进行编译,生成的 exe 文件大小的测试: 1、通常 delphi 的文件为了调试方便,默认新建工程进行编译的 exe 文件,是包含有 Debug 信息的,其生成的 exe 文件大小约为10.5M: 2、如果将去除调试数据,使用发布版(Release)进行编译,则生成的文件大小约 2...

yhcad博客 2577

VCLSkins 动态库版本的使用

VCLSkins 动态库版本的使用方法教程,代码实例,讲解很详细

Vclskin v2.75 For D567/2005 官方演示版

VclSkin v2.75官方试用版,标题有'VclSkin demo'字样,其他功能照用。News in 2.75Fix bugs in IP4000 combobox. Add install.exe and uninstall.exe. Add "embedscrollbar" in Skindata.skin3rd to support TAdvpanelGroup's scrollbar. Fix Colorpicker Popupmenu problem in WwRichEdit form. Support SpinEdit now Fix TScrollbox problem in delphi5 or c++builder5. News in 2.74* Delphi 2005 support.* Enable/Disable skin control at runtime.* Fix bug in MDIForm menu merge.* Add "xcMenuitem" in skincontrols property.* skip to skin QuickReport preivew form.News in 2.73* Fix bugs in MDIForm when MDIChild is maximized.* Fix bug of form Caption in Chinese.News in 2.72* Support TNT Unicode Controls .* Support menu in Tookbar2000 .* fix bug in MDIform close.* fix bug in TScrollbar control.* fix bug in TDateTimePicker when TDateTimePicker.kind is dtkTime.News in 2.71* fix bugs of MDIChild form.* support progressbar with pbVertical style.* support preset color in skin file.* support speedbutton in skin3rd property.News in 2.70* fix bug in embeded form.* fix bug of MDIform with Expressbar.* fix bug of form caption refresh when skin change.* fix trackbar refresh bug when skin change.* fix Quickreport , reprotbuilder preview form problem.* Support Raize TRzbitbtn with ImageList.* Support TComboboxex.

从system.pas看Delphi XE10的IDE编译逻辑

从system.pas看Delphi XE10的IDE编译逻辑 Delphi XE10的IDE,作为编译型语言pascal的最主要的集成开发环境,其编译的程序代码在运行时,本质是在执行其编译时就已经解释(Compile)好并将解释好的二进制代码链接(Build)到可执行的DLL或EXE,而其编译过程(或者说其解释和链接)的起点,则在原则单元system.pas,delphi XE10将其列入源码的运行时刻库RTL的系统sys目录下:source\rtl\sys。现对system.pa...

pulledup的博客 1318

Delphi VCLSkin v3.81 官方试用版

Delphi VCLSkin 3.81 官方试用版-HistoryNews in 3.81 11/29/2005*Support TMediaPlayer control.News in 3.80 11/20/2005*Fix some skin files.*Fix bug on ImageEn SaveImageEnDialog.News in 3.72 11/10/2005*Fix bug in TScrollbar when its min is negative.*Fix bug in Tmainmenu.News in 3.71 11/5/2005*change caption text color to gray when checkbox or radiobutton is disable.*Fix paint problem in Tbitbtn when caption is empty.*Fix bug of changing skin file when Skindata.SkinFormtype = sfOnlyThisForm.News in 3.70 10/27/2005*Support TAdvPageControl.*Support TRzMenuButton, TcxButton with cxbkDropDownButton.*work with RECREATEWND message for skined control has scrollbar.*Fix a memory leak bug.*Fix paint bug for TPagecontrol in win95.News in 3.65 10/21/2005*Add TSkindata.Options.xoMDIChildBorder which do not skin MDIChild form's border.News in 3.64 10/19/2005*Fix problem when skindata.skincontrols.xcMainMenu is flase.News in 3.63 10/15/2005*Support THeaderControl.News in 3.62 10/13/2005*fix bug in SystemMenu.News in 3.61 10/11/2005*fix bug in TcxDbCheckbox.*fix paint problem in Tcheckbox when Alignment is taLeftJustify.News in 3.60 10/10/2005*Vclskin can run in Win95.News in 3.52 10/6/2005*Fix paint problem of form border.News in 3.51 10/4/2005*Fix paint problem in checkbox with big image.News in 3.50 9/25/2005*Support Mouse Hover in Scrollbar.*Add Mouse thumb gripper in Scrollbar.News in 3.41*Fix some problem in Button when mouse move.News in 3.40 2005.9.21*Support Hover state in Header control.*Improve on TrackBar*Fix problem to unskin radiogroup.News in 3.38 2005.9.13*Fix icon problme in MDIChild.News in 3.37 2005.9.12*Fix font color problem in TButton when button is focused.News in 3.36 2005.9.9*Fix font color problem in Tgroupbox,radiobutton,checkbox.News in 3.35 2005.9.5*Support TGroupbox font color.News in 3.34 2005.8.31*Fix paint problem in Trackbar when skin file change.News in 3.33 2005.8.29*Fix problem in TcxDBCheckbox.News in 3.32 2005.8.25*Add close button on TPageControl.News in 3.31*fix problem when righ click form caption that BorderIcons:=[]News in 3.30*fix problem that show normal window border when windows first show.*fix resize problem when form border is bsSingle.News in 3.29*System menu is NOT only English.It support Language in windows.*Fix some problem in DLL applicaton.News in 3.28* fix paint bug in checkbox and radiobutton in windows common dialog.News in 3.27*fix bug in TTntDateTimePicker.*fix paint problem in TPageControl.News in 3.26*Support Popupmenu in TFrame.News in 3.25* fix Icon problem in MDIChild form.* fix caption paint problem in MDIForm.News in 3.24* Fix Icon problem in MDIChild form.* fix paint problem in Tbitbtn.* Add feature that Skin file Preview image saved in skin-builder.* Add xcTrackbar and xcSpin.News in 3.23* Support wordwrap in Bitbtn and speedbutton.* Fix scrollbar problem in TImageScrollBox.News in 3.22* fix transparent problem in button.News in 3.21* Fix paint problem in TSpidEdit.* Support owner-MeasureItem event in Popupmenu.News in 3.20* support toolbar background.* support workwrap in checkbox and radiobutton.News in 3.14*fix mainmenu merge problem .*fix flicker problem in transparent background .News in 3.13*fix scrollbar problem when form move.*fix bug in DLL form.*fix Edit control focus problem in MDIChild.*fix formresize problem when skin file change.News in 3.12* Add Focus border on checkbox,radiobutton,button.* Support Transparent Background on Checkbox,Radiobutton,Groupbox.* Support WS_EX_APPWINDOW style.* fix MDIchild problem in TBX.* improve on RzRadiobutton.News in 3.11*Support runtime package.*support ALT,ALT-Space.*support hint for scrollbar control*fix Z-order problem when skin change.*fix shortcut problem.News in 3.10*Support TBX.*Support TNT MDIChild Form.*Support more FastReprt button control.News in 3.08*Fix problem in TOpenImageEnDialog.*Paint Border in scrollbar control.*Fix checkbox paint problem in Dibiright*Fix Tscrollbox problem.*Support LMD Elpack.*Fix problem that Control without parent.*Fix bug in skin file change.News in 3.07*Fix problem when BiDiRight Mainmenu popup. *Fix bug in 3.06,3.05 when skin remove at runtime. News in 3.06*Fix bug in C++Builder.*Fix bug in scrollbar resize.*Fix bug in Delphi7 XPmanifest component.News in 3.05*Fix bug when move controls in different forms.*Fix problem in TStatusbar that is simple and DiBiRight.News in 3.04*Fix Tscrollbox problem in delphi5.*Fix Mainmenu display problem in BIDIRight.*Fix font color problem in TSpeedbutton when it is disable.*Fix bug in TntCombobox.*Fix skinfile mxskin59.skn when form is maximized.News in 3.03*Fix bug in dockable form.*Support Tbutton onMouseDown event.News in 3.02*Fix Combobx problem in BIDIRight.*Fix MOUSE WHEEL problem in Tlistbox.*Fix Scrollbar problem when control is invisible.News in 3.01*Fix problem in Inherited-MDIchild.News in 3.0*Scrollbar flicker problem fixed.*Redundant separator bars in menu are automatically removed.*Add xoMDIScrollbar to show scrollbar in MDIClient area.

减小Delphi 2010/delphi XE编译出来的文件大小

1.禁用RTTI   禁用的方法很简单,就是要在工程(dpr文件中。Delphi2010下项目文件是dproj文件,但dpr文件仍然是默认的编写代码的项目文件)的Uses语句前添加下面的定义就可以了: { Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }   {$IF Compil

gj333的专栏 3049

VCLSkin4.42

VCLSkins 是windows编程常用的界面换肤控件。非常实用!有了它,你就可以让你的程序添加万种色彩!--VCLSkin.v4.42 VCLSkins is commonly used in windows programming interface control skin. Very useful! With it, you can let you add the 10,000 kinds of colors!

迈创cameralink采集卡安装操作说明

迈创cameralink采集卡安装操作说明MIL软件安装MIL软件下载获取MIL软件安装MIL软件安装常见问题 MIL软件安装 MIL软件下载获取 MIL软件安装 解压MIL安装包,点击MilSetup.exe开始安装,如下图所示; 备注:64位系统MIL软件可以同时安装32位和64位客户端,本文档默认安装64位客户端,64位系统安装32位MIL方法后续再展开讲(不建议这样用,很麻烦) 点击Launch Installation开始安装,64位系统,默认只安装64位MIL客户端 根据采集卡驱动,选择M

qq_23107577的博客 9346

Delphi 减小程序大小

减小程序大小

OSwich的博客 432

Innovus中_clock_gen skew group的隐藏陷阱:如何避免自动分组导致的时序问题

本文深入剖析了在Innovus工具进行时钟树综合(CTS)时,`_clock_gen` skew group自动分组机制可能引发的隐蔽时序问题。文章通过实际案例,解释了该机制如何错误地将分频寄存器与配置寄存器归为一组,从而破坏时钟域边界并导致post-CTS时序违例,并提供了关闭自动提取、手动精确定义skew group等有效解决方案。

gpu4optimizer的博客 266

为何有人嫌弃delphi?

为何有人嫌弃delphi?个人最近学习愚见2009年9月23日9:26:08(今天秋分,太阳会逐渐离开赤道向南回归线移动,太阳会一天天的远离我们北半球,注意保暖。)本人最近被新的事物冲昏了头。Windows7、Delphi2010、VS2008+SP1、VS2010、Office2010等等一些软件的出现;3G来了(没有钱没有体会);Iphone(MAC),Android(Go

baili35的专栏 1925

unity 腾讯地图sdk移动和缩放代码

unity 腾讯地图sdk 实现移动端 缩放 和 移动

。。。。。 1283

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测软件(Python+PySide6界面+训练代码)

随着新零售概念的兴起,无人零售柜、智能零售店等新型零售模式快速发展。传统零售柜依赖于人工盘点和补货,效率低下且成本高昂。本文提出了一种基于YOLO系列目标检测算法的零售柜商品检测系统,实现了对零售柜内商品的自动识别、计数和库存管理。系统采用PySide6开发用户界面,集成了YOLOv5、YOLOv6、YOLOv7和YOLOv8等多种先进的深度学习模型,提供了完整的训练和推理流程。本文将详细介绍系统设计、算法实现、数据集构建和实际应用效果,并提供完整的代码实现。

YOLO 333

关闭RTTI,减小Delphi2010程序的尺寸

自从Delphi2010增强了RTTI反射机制后,编译出来的程序变得更大了,这是因为默认情况下 Delphi2010 给所有类都加上了RTTI信息(呵呵,不管你用不用它,好像实用价值确实不高,至少目前我不会去用的)。虽说对程序的运行速度影响不大,但会增加安装程序的大小,这也是我们不愿看到的。有没有办法禁用RTTI信息,从而减小编译后程序的大小呢?,从文档中我们找到了方法。 一、在工程中用编译

编程手札 2408

华为流程L1-L6业务流程深度细化到可执行【附全文阅读】

该文档主要介绍了华为业务流程的深度细化及相关内容,包括流程框架、建模方法、流程模块描述、流程图建模等,旨在帮助企业构建有效的流程体系,实现战略目标。

cdfunlove的博客 4002

减小Delphi XE以上编译出来的文件大小

自从Delphi2010中引入了新的RTTI反射机制后,编译出来的程序会变得很大,这是因为默认情况下 Delphi2010 给所有类都加上了反射机制。而我们的工程并不每每都需要使用到这个功能,所以对于不需要使用的地方,我们可以简单的用下面的方法禁用RTTI反射,从而大 大减小文件体积。禁用的方法很简单,就是要在工程(dpr文件中。1.引用的单元会影响EXE和DLL的大小,把Uses中不需要的单元去掉,可以变小一些。另起炉灶,把你的程序要用到的变量,函数,类型拷贝到另一个同名的pas文件中,编译时不用。...

YanJinrong的专栏 1254

YOLOv11官方代码库与预训练模型下载:介绍Ultralytics官方GitHub及模型权重(yolov11n.pt, yolov11s.pt等)

本文介绍了Ultralytics官方GitHub仓库和YOLOv11预训练模型。Ultralytics仓库是YOLO系列算法的官方实现,包含YOLOv11最新代码、预训练模型、文档和工具。仓库采用清晰的代码结构和活跃的更新策略,支持全流程开发。YOLOv11提供了5种不同规模的模型变体(YOLOv11n/s/m/l/x),在精度、速度和模型大小间权衡,适用于从移动设备到高精度检测等不同场景。各模型在COCO数据集上预训练,可直接使用或微调,满足多样化应用需求。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 5824

Claude Code 学习笔记之一:理解 Agentic Loop 与内置工具

本文介绍了Claude Code这一终端智能助手的工作原理与使用方式。作者从ABAP开发经验出发,指出学习Claude Code的高级用法具有长期价值。文章详细解析了Claude Code的Agentic Loop机制:通过大语言模型进行推理,借助各类工具执行任务,并循环收集上下文、执行操作、验证结果三个步骤。系统阐述了Claude Code支持的五大类工具及其扩展方式,说明了其访问本地资源的范围和自治处理能力,同时介绍了权限模式等安全机制。最后提供了从小任务开始、充分探索、及时引导、使用CLAUDE.md

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 545

delphi2010中FastReport的安装方法

一,准备工作。 1.1安装Delphi2010。 1.2获得FastReport 4.9.31。 二,FastReport文件夹下LibD14目录添加到Delphi中的Library Path 步骤:1,打开Delphi2010,打开菜单Tools->Options。 2,左侧点击Delphi Options的+号,点击Library-win32             3,在右侧框中找

beyondqd的专栏 2398

在 SAP ABAP 生态中偏爱面向对象,而不是过程式堆叠

本文探讨了ABAP开发中过程式与面向对象编程的共存现状及优化方向。文章指出,虽然过程式编程在ABAP中仍广泛存在,但随着业务复杂度提升,面向对象编程在可维护性、可测试性和重构便利性方面展现出明显优势。作者建议将过程式代码作为"适配层",仅负责输入输出转换,而将核心业务逻辑封装在类中。文章通过实际案例展示了这种架构如何提高交付效率,并提供了将Function Module转化为"薄包装"的具体实现方案,强调面向对象设计在SAP Gateway和RAP等现代架构中的重要性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 132
上一篇: DevExpress编译体积
下一篇: Dev cxGrid
abestone
博客等级 码龄20年 36粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值